|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| No
| Import Library
| kernel32.lib
| Header File
| winbase.h
| Unicode
| WinNT
| Platform Notes
| Windows 95: MOVEFILE_DELAY_UNTIL_REBOOT not supported.
|
|
|
MoveFileEx
The
MoveFileEx function renames an existing file or directory.
BOOL MoveFileEx(
LPCTSTR lpExistingFileName,
| // address of name of the existing file
|
LPCTSTR lpNewFileName,
| // address of new name for the file
|
DWORD dwFlags
| // flag to determine how to move file
|
);
|
|
Parameters
lpExistingFileName
Points to a null-terminated string that names an existing file or directory.
lpNewFileName
Points to a null-terminated string that specifies the new name of
lpExistingFileName.
When moving a file, the destination can be on a different file system or
drive. If the destination is on another drive, you must set the
MOVEFILE_COPY_ALLOWED flag in
dwFlags.
When moving a directory, the destination must be on the same drive.
Windows NT:
If
dwFlags specifies MOVEFILE_DELAY_UNTIL_REBOOT,
lpNewFileName can be NULL. In this case,
MoveFileEx registers the
lpExistingFileName file to be deleted when the system reboots.
dwFlags
A set of bit flags that specify how to move the file. You can specify any
combination of the following values:
| If the file is to be moved to a different volume, the function simulates the
move by using the CopyFile and DeleteFile functions. Cannot be combined with the MOVEFILE_DELAY_UNTIL_REBOOT flag.
|
MOVEFILE_DELAY_UNTIL_REBOOT
|
|
| Windows NT only: The function does not move the file until the operating system is restarted.
The system moves the file immediately after AUTOCHK is executed, but before
creating any paging files. Consequently, this parameter enables the function to
delete paging files from previous startups.
|
MOVEFILE_REPLACE_EXISTING
|
|
| If a file of the name specified by lpNewFileName already exists, the function replaces its contents with those specified by lpExistingFileName.
|
| Windows NT only: The function does not return until the file has actually been moved on the
disk.
Setting this flag guarantees that a move perfomed as a copy and delete
operation is flushed to disk before the function returns. The flush occurs at the end
of the copy operation.
This flag has no effect if the MOVEFILE_DELAY_UNTIL_REBOOT flag is set.
|
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error
information, call
GetLastError.
Remarks
An application cannot specify both MOVEFILE_DELAY_UNTIL_REBOOT and
MOVEFILE_COPY_ALLOWED for
dwFlags. Function calls that do so will fail.
Windows NT:
If the
dwFlags parameter specifies MOVEFILE_DELAY_UNTIL_REBOOT,
MoveFileEx stores the locations of the files to be renamed at reboot under the following
registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Session Manager\PendingFileRenameOperations
The key is of type REG_MULTI_SZ. Each rename operation is a pair of
NULL-terminated strings. The system uses these registry entries to complete the operation
at reboot in the same order that they were issued.
For example, on Windows NT, the following code fragment creates registry
entries that delete
szDstFile and rename
szSrcFile to be
szDstFile at reboot:
MoveFileEx(szDstFile, NULL, MOVEFILE_DELAY_UNTIL_REBOOT);
MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);
The system creates the associated
PendingFileRenameOperations entries as follows:
szDstFile\0\0
szSrcFile\0szDstFile\0\0
Windows 95:
The MOVEFILE_DELAY_UNTIL_REBOOT flag is not supported. To rename or delete a
file at reboot on a Windows 95 system, place an entry in the WININIT.INI file in
the Windows directory.
For example, on Windows 95, the following code fragment creates WININIT.INI
entries that delete
szDstFile and rename
szSrcFile to be
szDstFile at reboot:
GetWindowsDirectory(szWinInitFile, uSize);
lstrcat(szWinInitFile, "\\WININIT.INI");
WritePrivateProfileString("Rename", "NUL", szDstFile, szWinInitFile);
WritePrivateProfileString("Rename", szDstFile, szSrcFile, szWinInitFile);
See Also
CopyFile,
DeleteFile,
GetWindowsDirectory,
lstrcat,
MoveFile,
WritePrivateProfileString
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database