На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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:

Value Meaning
MOVEFILE_COPY_ALLOWED
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.
MOVEFILE_WRITE_THROUGH
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


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

MoveFileEx



Функция MoveFileEx переименовывает существующий файл или директорий.

BOOL MoveFileEx(

LPCTSTR lpExistingFileName, // АДРЕС имени существующего файла LPCTSTR lpNewFileName, // адрес новый называет в честь флага файла DWORD dwFlags //, чтобы определять как, чтобы перемещать файл
);


Параметры

lpExistingFileName

Точки на недействительный расторгнутую строку, которые называют существующий файл или директорий.

lpNewFileName

Точки на недействительный расторгнутую строку, которые определяют новое имя lpExistingFileName.
При перемещении файла, расположение может находиться в другой файловой системе или проезде. Если расположение находится в другом проезде, Вы должны установить флаг MOVEFILE_COPY_ALLOWED в dwFlags.
При перемещении директория, расположение должно находиться в том же проезде.

Окно NT:

Если dwFlags определяет MOVEFILE_DELAY_UNTIL_REBOOT, lpNewFileName может быть НЕДЕЙСТВИТЕЛЕН. В этом случае, MoveFileEx регистрирует файл lpExistingFileName, который нужно удаляться когда система перезагружается.

dwFlags

Набор бита сигнализирует, что определяет как, чтобы перемещать файл. Вы можете определить любую комбинацию следующего величин:

Оцените Значение MOVEFILE_COPY_ALLOWED
Если файл должен быть перемещен на другой объем, функция имитирует перемещение используя CopyFile и функции DeleteFile. Не может быть объединено флагом MOVEFILE_DELAY_UNTIL_REBOOT.
MOVEFILE_DELAY_UNTIL_REBOOT
Окно NT только: функция не перемещает файл пока операционная система не будет перезапущена. Система перемещает файл немедленно после того, как AUTOCHK будет выполнен, но перед созданием любых файлов подкачки. Следовательно, этот параметр позволяет функцию, чтобы удалять файлы подкачки с предшествующих запусков.
MOVEFILE_REPLACE_EXISTING
Если файл имени определенного lpNewFileName уже существует, функция заменяет свое содержание теми определенное lpExistingFileName.
MOVEFILE_WRITE_THROUGH
Windows NT только: функция не возвращается пока файл действительно не пройден диск. Установка этого флага гарантирует, что перемещение perfomed как копия и удаляла операцию сброшен на диск прежде, чем функция возвращается. Краска происходит в конце операции копии. Этот флаг не имеет эффект если флаг MOVEFILE_DELAY_UNTIL_REBOOT установлен.


Обратные Величины

Если функция добивается успеха, обратная величина ненулевая.
Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, назовите GetLastError.

Замечания

Приложение не может определиться как MOVEFILE_DELAY_UNTIL_REBOOT так и MOVEFILE_COPY_ALLOWED для dwFlags. Функциональные вызовы, что делать так потерпит неудачу.

Windows NT:

Если параметр dwFlags определяет MOVEFILE_DELAY_UNTIL_REBOOT, MoveFileEx загружает позиции файлов, которые нужно переименовываться на перезагрузке под следующей клавишей регистрации:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Control\Session Manager\PendingFileRenameOperations

Клавиша - типа REG_MULTI_SZ. Каждый переименовывает операцию является парой НЕДЕЙСТВИТЕЛЬНЫЙ расторгнутых строк. Система использует эти данные регистрации, чтобы завершать операцию на перезагрузке в той же последовательности, как они были выпущены.
Например, на Windows NT, кодовый фрагмент следующего создает данные регистрации, которые удаляют szDstFile и переименовывают szSrcFile, чтобы быть szDstFile на перезагрузке:



MoveFileEx(szDstFile, НЕДЕЙСТВИТЕЛЬНЫЙ, MOVEFILE_DELAY_UNTIL_REBOOT);
MoveFileEx(szSrcFile, szDstFile, MOVEFILE_DELAY_UNTIL_REBOOT);


Система создает связанные данные PendingFileRenameOperations следующим образом:

szDstFile\0\0 szSrcFile\0szDstFile\0\0


Windows 95:

Флаг MOVEFILE_DELAY_UNTIL_REBOOT не поддерживан. Для того, чтобы переименовывать или удалять файл на перезагрузке в системе Windows 95, установите вход в файле WININIT.INI в директории Windows.

Например, на Windows 95, кодовый фрагмент следующего создает данные WININIT.INI, которые удаляют szDstFile и переименовывают szSrcFile, чтобы быть szDstFile на перезагрузке:

GetWindowsDirectory(szWinInitFile, uSize);
lstrcat(szWinInitFile, "\\WININIT.INI");
WritePrivateProfileString("Rename", "NUL", szDstFile, szWinInitFile);
WritePrivateProfileString("Rename", szDstFile, szSrcFile, szWinInitFile);


Смотри Также

CopyFile, DeleteFile, GetWindowsDirectory, lstrcat, MoveFile, WritePrivateProfileString


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz