Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Indica che il callback potrebbe non restituire rapidamente.
BOOL CallbackMayRunLong(
[in, out] PTP_CALLBACK_INSTANCE pci
);
[in, out] pci
Puntatore a una struttura TP_CALLBACK_INSTANCE che definisce l'istanza di callback. Il puntatore viene passato alla funzione di callback.
La funzione restituisce TRUE se è disponibile un altro thread nel pool di thread per l'elaborazione dei callback o se il pool di thread è stato in grado di creare un nuovo thread. In questo caso, la funzione di callback corrente può usare il thread corrente per un periodo illimitato.
La funzione restituisce FALSE se un altro thread nel pool di thread non è disponibile per elaborare i callback e il pool di thread non è stato in grado di creare un nuovo thread. Il pool di thread tenterà di creare un nuovo thread dopo un ritardo, ma se la funzione di callback corrente viene eseguita a lungo, il pool di thread potrebbe perdere efficienza.
Il pool di thread può usare queste informazioni per determinare meglio quando creare un nuovo thread.
La funzione CallbackMayRunLong deve essere chiamata solo dal thread che sta elaborando il callback. La chiamata di questa funzione da un altro thread può causare una race condition.
La funzione CallbackMayRunLong contrassegna sempre il callback a esecuzione prolungata, indipendentemente dal fatto che sia disponibile o meno un thread per l'elaborazione dei callback o il pool di thread sia in grado di allocare un nuovo thread. Pertanto, questa funzione deve essere chiamata una sola volta, anche se restituisce FALSE.
Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versione successiva.
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | threadpoolapiset.h (include Windows.h in Windows 7, Windows Server 2008 Windows Server 2008 R2) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
DisassociateCurrentThreadFromCallback
FreeLibraryWhenCallbackReturns
LeaveCriticalSectionWhenCallbackReturns
ReleaseMutexWhenCallbackReturns