DisassociateCurrentThreadFromCallback 函数 (threadpoolapiset.h)

删除当前正在执行的回调函数与启动回调的对象之间的关联。 当前线程将不再被视为代表对象执行回调。

语法

void DisassociateCurrentThreadFromCallback(
  [in, out] PTP_CALLBACK_INSTANCE pci
);

参数

[in, out] pci

指向定义回调实例 的 TP_CALLBACK_INSTANCE 结构的指针。 指针传递到回调函数。

返回值

备注

如果这是代表对象执行回调的最后一个线程,则将释放等待对象回调完成的任何线程。

线程与对象的 清理组 保持关联,直到线程返回到线程池。 这使 DLL 关闭例程可以安全地与未完成的回调同步,并在所有回调完成后继续卸载 DLL 的代码。

回调生成对象在回调期间保持有效。 回调对象可以重复使用或释放 (,尽管) 仍需要与清理组版本同步。

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

另请参阅

CallbackMayRunLong

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

线程池

TrySubmitThreadpoolCallback