Removes the association between the currently executing callback function and the object that initiated the callback. The current thread will no longer count as executing a callback on behalf of the object.
void DisassociateCurrentThreadFromCallback(
PTP_CALLBACK_INSTANCE pci
)
pci
Type: PTP_CALLBACK_INSTANCE
[in, out] A TP_CALLBACK_INSTANCE structure that defines the callback instance. The structure is passed to the callback function.
If this is the last thread executing a callback on behalf of the object, any threads waiting for the object’s callbacks to complete will be released.
The thread remains associated with the object’s cleanup group until the thread returns to the thread pool. This lets DLL shutdown routines safely synchronize with outstanding callbacks and proceed with unloading the DLL’s code when all callbacks have completed.
The callback-generating object remains valid for the duration of the callback. The callback object may be reused or released (although synchronization with cleanup group release is still required).
Header: Declared in threadpoolapiset.h.
Library: Use kernelx.lib.