为目标对象创建等待完成关联。
语法
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]
IO 完成对象的句柄,该对象在收到信号时接收通知。
TargetObjectHandle [in]
要接收通知的可等待对象的句柄。
KeyContext [in]
提供调用 NtRemoveIoCompletion 期间返回的键上下文。
ApcContext [in]
在调用 NtRemoveIoCompletion 期间返回的 apc 上下文。
IoStatus [in]
调用 NtRemoveIoCompletion 期间返回的 IoStatus-Status> 数据。
IoStatusInformation [in]
调用 NtRemoveIoCompletion 期间返回的 IoStatus-Information> 数据。
AlreadySignaled [out]
指向布尔变量的可选指针,该变量接收此函数成功时关联时目标对象是否已发出信号的指示。
返回值
NTSTATUS 代码。 有关详细信息,请参阅 使用 NTSTATUS 值。
注解
当向对象发出信号时,数据包将排队到提供的完成端口,所提供的值将传送给 NtRemoveIoCompletion 的调用方。 拾取数据包时,必须再次调用此函数来重新建立关联。 如果等待完成数据包已用于关联,则返回错误。
此函数没有关联的导入库或头文件;必须使用 LoadLibrary 和 GetProcAddress 函数调用它。 从 ntdll.dll 导出 API。
要求
| 要求 | 值 |
|---|---|
| DLL | ntdll.dll |