createThreadpoolWait 函数 (threadpoolapiset.h)

创建新的等待对象。

语法

PTP_WAIT CreateThreadpoolWait(
  [in]                PTP_WAIT_CALLBACK    pfnwa,
  [in, out, optional] PVOID                pv,
  [in, optional]      PTP_CALLBACK_ENVIRON pcbe
);

参数

[in] pfnwa

等待完成或超时时要调用的回调函数。有关详细信息,请参阅 WaitCallback

[in, out, optional] pv

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

[in, optional] pcbe

定义执行回调的环境 的TP_CALLBACK_ENVIRON 结构。 InitializeThreadpoolEnvironment 函数返回此结构。

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

返回值

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

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

注解

若要设置等待对象,请调用 SetThreadpoolWaitSetThreadpoolWaitEx 函数。

工作项及其调用的所有函数在返回后不得依赖于线程。 因此,不能从默认回调环境中调用需要持久线程的异步调用,例如没有 REG_NOTIFY_THREAD_AGNOSTIC 标志的RegNotifyChangeKeyValue 函数。 请改用由你控制的生存期的线程。

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

另请参阅

CloseThreadpoolWait

SetThreadpoolWait

线程池

WaitForThreadpoolWaitCallbacks