Funzione TpSetCallbackRaceWithDll (winnt.h)
Assicura che la DLL specificata rimanga caricata purché siano presenti callback in sospeso.
Sintassi
void TpSetCallbackRaceWithDll(
[in, out] PTP_CALLBACK_ENVIRON CallbackEnviron,
[in] PVOID DllHandle
);
Parametri
[in, out] CallbackEnviron
Struttura TP_CALLBACK_ENVIRON che definisce l'ambiente di callback. La funzione InitializeThreadpoolEnvironment restituisce questa struttura.
[in] DllHandle
Handle per la DLL.
Valore restituito
nessuno
Osservazioni
È consigliabile chiamare questa funzione se un callback potrebbe acquisire il blocco del caricatore. Ciò impedisce che si verifichi un deadlock quando un thread in DllMain è in attesa del callback alla fine e un altro thread che esegue il callback tenta di acquisire il blocco del caricatore.
Se la DLL contenente il callback potrebbe essere scaricata, il codice di pulizia in DllMain deve annullare i callback in sospeso prima di rilasciare l'oggetto.
La gestione dei callback creati con un TP_CALLBACK_ENVIRON che specifica una libreria di callback richiede un uso intensivo dell'elaborazione. È consigliabile prendere in considerazione altre opzioni per garantire che la libreria non venga scaricata durante l'esecuzione dei callback o per garantire che i callback che potrebbero essere in esecuzione non acquisiscano il blocco del caricatore.
Questa funzione viene implementata come funzione inline.
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | winnt.h |
Vedi anche
TpSetCallbackActivationContext
TpSetCallbackFinalizationCallbackCallback