Condividi tramite


Metodo ICLRMetaHost::RequestRuntimeLoadedNotification

Fornisce una funzione di callback garantita quando viene caricata una versione CLR (Common Language Runtime), ma non ancora avviata. Questo metodo sostituisce la funzione LockClrVersion .

Sintassi

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

Parametri

pCallbackFunction
[in] Funzione di callback richiamata quando è stato caricato un nuovo runtime.

Valore restituito

Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.

HRESULT Descrizione
S_OK Metodo completato correttamente.
E_POINTER pCallbackFunction è null.

Commenti

Il callback funziona nel modo seguente:

  • Il callback viene richiamato solo quando viene caricato un runtime per la prima volta.

  • Il callback non viene richiamato per carichi reentrant dello stesso runtime.

  • Per i carichi di runtime non reentrant, le chiamate alla funzione di callback vengono serializzate.

La funzione callback ha il prototipo seguente:

typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(  
                     ICLRRuntimeInfo *pRuntimeInfo,  
                     CallbackThreadSetFnPtr pfnCallbackThreadSet,  
                     CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);  

I prototipi di funzione callback sono i seguenti:

  • pfnCallbackThreadSet:

    typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();  
    
  • pfnCallbackThreadUnset:

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

Se l'host intende caricare o causare il caricamento di un altro runtime in modo reentrant, i pfnCallbackThreadSet parametri e pfnCallbackThreadUnset forniti nella funzione di callback devono essere usati nel modo seguente:

  • pfnCallbackThreadSet deve essere chiamato dal thread che potrebbe causare un carico di runtime prima che venga tentato un carico di questo tipo.

  • pfnCallbackThreadUnset deve essere chiamato quando il thread non causerà più tale carico di runtime (e prima di restituire dal callback iniziale).

  • pfnCallbackThreadSet e pfnCallbackThreadUnset sono entrambi non reentrant.

Nota

Le applicazioni host non devono chiamare pfnCallbackThreadSet e pfnCallbackThreadUnset uscire dall'ambito del pCallbackFunction parametro.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile da 4

Vedi anche