Expand Minimize

DisassociateCurrentThreadFromCallback function

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.

Syntax


VOID WINAPI DisassociateCurrentThreadFromCallback(
  _Inout_  PTP_CALLBACK_INSTANCE pci
);

Parameters

pci [in, out]

A TP_CALLBACK_INSTANCE structure that defines the callback instance. The structure is passed to the callback function.

Return value

This function does not return a value.

Remarks

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).

To compile an application that uses this function, define _WIN32_WINNT as 0x0600 or higher.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

WinBase.h on Windows Vista, Windows 7, Windows Server 2008, and Windows Server 2008 R2 (include Windows.h);
Threadpoolapiset.h on Windows 8 and Windows Server 2012

Library

Kernel32.lib

DLL

Kernel32.dll

See also

CallbackMayRunLong
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns
ReleaseSemaphoreWhenCallbackReturns
SetEventWhenCallbackReturns
Thread Pools
TrySubmitThreadpoolCallback

 

 

Community Additions

ADD
Show:
© 2014 Microsoft