createThreadpoolIo 函数 (threadpoolapiset.h)

创建新的 I/O 完成对象。

语法

PTP_IO CreateThreadpoolIo(
  [in]                HANDLE                fl,
  [in]                PTP_WIN32_IO_CALLBACK pfnio,
  [in, out, optional] PVOID                 pv,
  [in, optional]      PTP_CALLBACK_ENVIRON  pcbe
);

参数

[in] fl

要绑定到此 I/O 完成对象的文件句柄。

[in] pfnio

每次对文件完成重叠的 I/O 操作时要调用的回调函数。 有关详细信息,请参阅 IoCompletionCallback

[in, out, optional] pv

要传递给回调函数的可选应用程序定义数据。

[in, optional] pcbe

指向 TP_CALLBACK_ENVIRON 结构的指针,该结构定义执行回调的环境。 在调用此函数之前,请使用 InitializeThreadpoolEnvironment 函数初始化结构。

如果此参数为 NULL,则回调在默认回调环境中执行。 有关详细信息,请参阅 InitializeThreadpoolEnvironment

返回值

如果函数成功,它将返回指向定义 I/O 对象的 TP_IO 结构的指针。 应用程序不会修改此结构的成员。

如果函数失败,它将返回 NULL。 若要检索扩展的错误信息,请调用 GetLastError

注解

若要开始接收重叠的 I/O 完成回调,请调用 StartThreadpoolIo 函数。

如果绑定到 I/O 完成对象的文件句柄具有通知模式FILE_SKIP_COMPLETION_PORT_ON_SUCCESS且异步 I/O 操作立即返回且成功,则不会调用 I/O 完成回调函数,并且必须取消线程池 I/O 通知。 有关详细信息,请参阅 CancelThreadpoolIo

若要编译使用此函数的应用程序,请将_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

StartThreadpoolIo

线程池

WaitForThreadpoolIoCallbacks