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
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns