WaitForThreadpoolIoCallbacks 函数 (threadpoolapiset.h)
等待未完成的 I/O 完成回调完成,并选择性地取消尚未开始执行的挂起回调。
语法
void WaitForThreadpoolIoCallbacks(
[in, out] PTP_IO pio,
[in] BOOL fCancelPendingCallbacks
);
参数
[in, out] pio
指向定义 I/O 完成对象的 TP_IO 结构的指针。 CreateThreadpoolIo 函数返回此指针。
[in] fCancelPendingCallbacks
指示是否取消尚未开始执行的排队回调。
返回值
无
备注
当 fCancelPendingCallbacks 设置为 TRUE 时,仅取消排队的回调。 挂起的 I/O 请求不会取消。 因此,调用方应调用 OVERLAPPED 结构的 GetOverlappedResult,以在释放结构之前检查 I/O 操作是否已完成。 作为替代方法,请将 fCancelPendingCallbacks 设置为 FALSE,并让关联的 I/O 完成回调释放 OVERLAPPED 结构。 当 I/O 请求仍处于挂起状态时,请注意不要释放 OVERLAPPED 结构;使用 GetOverlappedResult 确定 I/O 操作的状态并等待操作完成。 可以选择先使用 CancelIoEx 函数取消未完成的 I/O 请求,从而缩短等待时间。 有关详细信息,请参阅 取消挂起的 I/O 操作。
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为 0x0600 或更高版本。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | threadpoolapiset.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2) |
Library | Kernel32.lib |
DLL | Kernel32.dll |