CallbackMayRunLong-Funktion (threadpoolapiset.h)
Gibt an, dass der Rückruf möglicherweise nicht schnell zurückgegeben wird.
Syntax
BOOL CallbackMayRunLong(
[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
Die Funktion gibt TRUE zurück, wenn ein anderer Thread im Threadpool für die Verarbeitung von Rückrufen verfügbar ist oder der Threadpool einen neuen Thread erstellen konnte. In diesem Fall kann die aktuelle Rückruffunktion den aktuellen Thread unbegrenzt verwenden.
Die Funktion gibt FALSE zurück, wenn ein anderer Thread im Threadpool nicht für die Verarbeitung von Rückrufen verfügbar ist und der Threadpool keinen neuen Thread erstellen konnte. Der Threadpool versucht nach einer Verzögerung, einen neuen Thread zu erstellen, aber wenn die aktuelle Rückruffunktion lange ausgeführt wird, kann der Threadpool an Effizienz verlieren.
Hinweise
Der Threadpool kann diese Informationen verwenden, um besser zu bestimmen, wann ein neuer Thread erstellt werden soll.
Die CallbackMayRunLong-Funktion sollte nur von dem Thread aufgerufen werden, der den Rückruf verarbeitet. Das Aufrufen dieser Funktion aus einem anderen Thread kann zu einer Racebedingung führen.
Die CallbackMayRunLong-Funktion kennzeichnet den Rückruf immer als lang ausgeführt, unabhängig davon, ob ein Thread für die Verarbeitung von Rückrufen verfügbar ist oder nicht oder der Threadpool einen neuen Thread zuordnen kann. Daher sollte diese Funktion nur einmal aufgerufen werden, auch wenn false zurückgegeben wird.
Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher.
Anforderungen
Anforderung | Wert |
---|---|
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
DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns