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 |