Condividi tramite


Metodo ICLRMetaHost::RequestRuntimeLoadedNotification

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

HRESULT RequestRuntimeLoadedNotification (
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);

Parametri

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

Valore restituito

Questo metodo restituisce gli HRESULT specifici seguenti nonché gli errori HRESULT che indicano l'esito negativo del metodo.

HRESULT

Oggetto di descrizione

S_OK

Il metodo è stato eseguito correttamente.

E_POINTER

pCallbackFunction è null.

Note

Il callback funziona nel modo seguente:

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

  • Il callback non viene richiamato per i caricamenti rientranti dello stesso runtime.

  • Per i caricamenti di runtime non rientranti, le chiamate alla funzione di callback sono serializzate.

La funzione di callback presenta il prototipo seguente:

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

I prototipi della funzione di callback sono:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
    

Se l'host intende caricare il runtime o fare in modo che un altro runtime venga caricato in modo rientrante, i parametri pfnCallbackThreadSet e pfnCallbackThreadUnset forniti nella funzione di callback devono essere utilizzati nel modo seguente:

  • pfnCallbackThreadSet deve essere chiamato dal thread che potrebbe comportare un caricamento di runtime prima che venga effettuato tale tentativo di caricamento.

  • pfnCallbackThreadUnset deve essere chiamato quando il thread non comporterà più tale caricamento di runtime e prima che il callback iniziale restituisca un risultato.

  • Nessuno dei parametri pfnCallbackThreadSet pfnCallbackThreadUnset è rientrante.

NotaNota

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

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MetaHost.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Interfaccia ICLRMetaHost

Altre risorse

Hosting (riferimenti alle API non gestite)