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

另请参阅

CancelThreadpoolIo

CloseThreadpoolIo

CreateThreadpoolIo

StartThreadpoolIo

线程池