Função NtAssociateWaitCompletionPacket

Cria uma associação de conclusão de espera para o objeto de destino.

Sintaxe

NTSTATUS NtAssociateWaitCompletionPacket (
    _In_ HANDLE WaitCompletionPacketHandle,
    _In_ HANDLE IoCompletionHandle,
    _In_ HANDLE TargetObjectHandle,
    _In_opt_ PVOID KeyContext,
    _In_opt_ PVOID ApcContext,
    _In_ NTSTATUS IoStatus,
    _In_ ULONG_PTR IoStatusInformation,
    _Out_opt_ PBOOLEAN AlreadySignaled
    )

Parâmetros

WaitCompletionPacketHandle [in]

Um identificador para um pacote de conclusão de espera que descreve a associação. Esse objeto não deve estar em uso.

IoCompletionHandle [in]

Um identificador para um objeto de conclusão de E/S que receberá uma notificação quando o objeto for sinalizado.

TargetObjectHandle [in]

Um identificador para um objeto de espera para o qual as notificações devem ser recebidas.

KeyContext [in]

Fornece o contexto de chave retornado durante uma chamada para NtRemoveIoCompletion.

ApcContext [in]

O contexto apc retornado durante uma chamada para NtRemoveIoCompletion.

IoStatus [in]

Os dados IoStatus-Status> retornados durante uma chamada para NtRemoveIoCompletion.

IoStatusInformation [in]

Os dados IoStatus-Information> retornados durante uma chamada para NtRemoveIoCompletion.

AlreadySignaled [out]

Um ponteiro opcional para uma variável booliana que recebe uma indicação de se o objeto de destino já estava sinalizado no momento da associação quando essa função é bem-sucedida.

Valor retornado

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

Comentários

Quando o objeto é sinalizado, um pacote é enfileirado na porta de conclusão fornecida e os valores fornecidos serão transmitidos para um chamador de NtRemoveIoCompletion. Quando o pacote é coletado, a associação deve ser restabelecida chamando essa função novamente. Um erro será retornado se o pacote de conclusão de espera já estiver em uso para uma associação.

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