Freigeben über


DisassociateCurrentThreadFromCallback-Funktion (threadpoolapiset.h)

Entfernt die Zuordnung zwischen der derzeit ausgeführten Rückruffunktion und dem Objekt, das den Rückruf initiiert hat. Der aktuelle Thread zählt nicht mehr als Ausführen eines Rückrufs im Namen des -Objekts.

Syntax

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

Parameter

[in, out] pci

Ein Zeiger auf eine TP_CALLBACK_INSTANCE-Struktur, die den Rückruf instance definiert. Der Zeiger wird an die Rückruffunktion übergeben.

Rückgabewert

Keine

Bemerkungen

Wenn dies der letzte Thread ist, der einen Rückruf im Namen des Objekts ausführt, werden alle Threads, die darauf warten, dass die Rückrufe des Objekts abgeschlossen sind, freigegeben.

Der Thread bleibt der Bereinigungsgruppe des Objekts zugeordnet, bis der Thread zum Threadpool zurückkehrt. Dadurch können DLL-Herunterfahrroutinen sicher mit ausstehenden Rückrufen synchronisiert werden und der DLL-Code entladen werden, wenn alle Rückrufe abgeschlossen sind.

Das rückruferzeugende Objekt bleibt für die Dauer des Rückrufs gültig. Das Rückrufobjekt kann wiederverwendet oder freigegeben werden (obwohl eine Synchronisierung mit der Freigabe der Bereinigungsgruppe weiterhin erforderlich ist).

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile threadpoolapiset.h (Einschließen von Windows.h unter Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CallbackMayRunLong

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

Threadpools

TrySubmitThreadpoolCallback