Windows Win32Arquivos & E/Skernel32.dll
WriteFile
Escreve dados em um arquivo ou dispositivo referenciado por um HANDLE, de forma síncrona ou assíncrona.
Descrição
Contraparte de escrita de ReadFile, com o mesmo suporte a I/O overlapped assíncrono.
Header:
fileapi.hDLL: kernel32.dllNative API: NtWriteFileAssinatura
BOOL WriteFile(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hFile | HANDLE | Handle do arquivo/dispositivo, aberto com acesso de escrita. |
| lpBuffer | LPCVOID | Buffer de origem. |
| nNumberOfBytesToWrite | DWORD | Número de bytes a escrever. |
| lpNumberOfBytesWritten | LPDWORD | Recebe o número de bytes efetivamente escritos. |
| lpOverlapped | LPOVERLAPPED | Estrutura para I/O assíncrono, ou NULL para I/O síncrono. |
Valor de retorno
Diferente de zero em sucesso; 0 em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_IO_PENDING(997)
- A operação de E/S sobreposta (overlapped) foi enfileirada e será concluída de forma assíncrona.
- ERROR_INVALID_HANDLE(6)
- O identificador (handle) informado é inválido.
- ERROR_DISK_FULL(112)
- Não há espaço suficiente no disco.
- ERROR_BROKEN_PIPE(109)
- O pipe foi encerrado (broken pipe).
Relacionadas
Equivalente em Linux x86_64