Voltar à lista
Windows Win32Arquivos & E/Skernel32.dll

ReadFileEx

Como ReadFile, mas invoca uma rotina de conclusão definida pelo usuário quando a leitura assíncrona termina.

Descrição

Parte do modelo de I/O assíncrono alertable do Windows: a rotina de conclusão só executa quando a thread que chamou ReadFileEx entra em estado alertable (ex.: via SleepEx, WaitForSingleObjectEx).

Header: fileapi.hDLL: kernel32.dll

Assinatura

BOOL ReadFileEx(
    HANDLE hFile,
    LPVOID lpBuffer,
    DWORD nNumberOfBytesToRead,
    LPOVERLAPPED lpOverlapped,
    LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);

Parâmetros

ParâmetroTipoDescrição
hFileHANDLEHandle aberto com FILE_FLAG_OVERLAPPED.
lpBufferLPVOIDBuffer de destino.
nNumberOfBytesToReadDWORDNúmero máximo de bytes a ler.
lpOverlappedLPOVERLAPPEDEstrutura de overlapped associada à operação.
lpCompletionRoutineLPOVERLAPPED_COMPLETION_ROUTINEFunção chamada quando a leitura completa e a thread está alertable.

Valor de retorno

Diferente de zero em sucesso (operação enfileirada); 0 em erro.

Códigos de erro (GetLastError)

ERROR_INVALID_HANDLE(6)
O identificador (handle) informado é inválido.
ERROR_IO_PENDING(997)
A operação de E/S sobreposta (overlapped) foi enfileirada e será concluída de forma assíncrona.

Relacionadas