Condividi tramite


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

TpDestroyCallbackEnviron

TpInitializeCallbackEnviron

TpSetCallbackActivationContext

TpSetCallbackCleanupGroup

TpSetCallbackFinalizationCallbackCallback

TpSetCallbackLongFunction

TpSetCallbackNoActivationContext

TpSetCallbackPersistent

TpSetCallbackPriority

TpSetCallbackThreadpool