Функция NtAssociateWaitCompletionPacket

Создает связь завершения ожидания для целевого объекта.

Синтаксис

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
    )

Параметры

WaitCompletionPacketHandle [in]

Дескриптор пакета завершения ожидания, который описывает связь. Этот объект не должен использоваться.

IoCompletionHandle [in]

Дескриптор объекта завершения ввода-вывода, который получит уведомление, когда объект получает сигнал.

TargetObjectHandle [in]

Дескриптор ожидающего объекта, для которого должны быть получены уведомления.

KeyContext [in]

Предоставляет контекст ключа, возвращаемый при вызове NtRemoveIoCompletion.

ApcContext [in]

Контекст apc, возвращаемый при вызове NtRemoveIoCompletion.

IoStatus [in]

Данные IoStatus-Status>, возвращаемые при вызове NtRemoveIoCompletion.

IoStatusInformation [in]

Данные IoStatus-Information>, возвращаемые при вызове NtRemoveIoCompletion.

AlreadySignaled [out]

Необязательный указатель на логическую переменную, которая получает указание на то, был ли целевой объект уже получен сигнал на момент сопоставления при успешном выполнении этой функции.

Возвращаемое значение

Код NTSTATUS. Дополнительные сведения см. в разделе Использование значений NTSTATUS.

Комментарии

Когда объект получает сигнал, пакет помещается в очередь на предоставленный порт завершения, и предоставленные значения передаются вызывающей объекту NtRemoveIoCompletion. При получении пакета связь должна быть восстановлена путем повторного вызова этой функции. Если пакет завершения ожидания уже используется для связи, возвращается ошибка.

У этой функции нет связанной библиотеки импорта или файла заголовков; его необходимо вызвать с помощью функций LoadLibrary и GetProcAddress . API экспортируется из ntdll.dll.

Требования

Требование Значение
DLL ntdll.dll