Windows Win32Arquivos & E/Skernel32.dll
MoveFileExW
Move ou renomeia um arquivo/diretório, com flags para sobrescrita e para adiar até o próximo boot.
Descrição
Com MOVEFILE_DELAY_UNTIL_REBOOT, agenda a operação para ser aplicada no próximo boot do sistema — usado por instaladores para substituir arquivos em uso.
Header:
winbase.hDLL: kernel32.dllNative API: NtSetInformationFileNota
Equivalente aproximado ao `rename`/`renameat2` do Linux.
Assinatura
BOOL MoveFileExW(
LPCWSTR lpExistingFileName,
LPCWSTR lpNewFileName,
DWORD dwFlags
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpExistingFileName | LPCWSTR | Caminho atual. |
| lpNewFileName | LPCWSTR | Novo caminho, ou NULL com MOVEFILE_DELAY_UNTIL_REBOOT para agendar exclusão. |
| dwFlags | DWORD | MOVEFILE_REPLACE_EXISTING, MOVEFILE_COPY_ALLOWED, MOVEFILE_DELAY_UNTIL_REBOOT. |
Valor de retorno
Diferente de zero em sucesso; 0 em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_FILE_NOT_FOUND(2)
- O sistema não conseguiu encontrar o arquivo especificado.
- ERROR_ALREADY_EXISTS(183)
- Não é possível criar um arquivo já existente.
- ERROR_ACCESS_DENIED(5)
- Acesso negado.
Relacionadas
Equivalente em Linux x86_64