Função NtRemoveIoCompletion

Remove uma entrada de um objeto de conclusão de E/S. Se atualmente não houver entradas disponíveis, o thread de chamada aguardará uma entrada.

Sintaxe

NTSTATUS NtRemoveIoCompletion (
    __in HANDLE IoCompletionHandle,
    __out PVOID *KeyContext,
    __out PVOID *ApcContext,
    __out PIO_STATUS_BLOCK IoStatusBlock,
    __in_opt PLARGE_INTEGER Timeout
    )

Parâmetros

IoCompletionHandle [in]

Um identificador para um objeto de conclusão de E/S.

KeyContext [out]

Um ponteiro para uma variável que recebe o contexto de chave que foi especificado quando o objeto de conclusão de E/S foi associado a um objeto de arquivo.

ApcContext [out]

Um ponteiro para uma variável que recebe o contexto especificado quando a operação de E/S foi emitida.

IoStatusBlock [out]

Um ponteiro para uma variável que recebe o status de conclusão de E/S.

Tempo limite [in, opcional]

Um ponteiro para um valor de tempo limite opcional.

Valor retornado

Um código NTSTATUS. Para obter mais informações, consulte Usando valores NTSTATUS.

Comentários

IO_STATUS_BLOCK tem a definição a seguir.

typedef struct _IO_STATUS_BLOCK {  
    union {  
        NTSTATUS Status;  
        PVOID Pointer;  
    } DUMMYUNIONNAME;  
  
    ULONG_PTR Information;  
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;  

Essa função não tem biblioteca de importação ou arquivo de cabeçalho associado; você deve chamá-lo usando as funções LoadLibrary e GetProcAddress . A API é exportada de ntdll.dll.

Requisitos

Requisito Valor
DLL ntdll.dll