Metodo ICLRMetaHost::RequestRuntimeLoadedNotificationICLRMetaHost::RequestRuntimeLoadedNotification Method

Fornisce una funzione di callback che viene chiamato quando è caricata una versione di common language runtime (CLR), ma non ancora avviata.Provides a callback function that is guaranteed to be called when a common language runtime (CLR) version is first loaded, but not yet started. Questo metodo sostituisce il LockClrVersion (funzione).This method supersedes the LockClrVersion function.

SintassiSyntax

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

ParametriParameters

pCallbackFunction
[in] La funzione di callback che viene richiamata quando un nuovo runtime è stato caricato.[in] The callback function that is invoked when a new runtime has been loaded.

Valore restituitoReturn Value

Questo metodo restituisce gli specifici HRESULT seguenti, nonché gli errori di HRESULT che indicano la mancata riuscita del metodo.This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULTHRESULT DescrizioneDescription
S_OKS_OK Metodo completato correttamente.The method completed successfully.
E_POINTERE_POINTER pCallbackFunction è null.pCallbackFunction is null.

NoteRemarks

Il callback funziona nel modo seguente:The callback works in the following way:

  • Il callback viene richiamato solo quando viene caricato un runtime per la prima volta.The callback is invoked only when a runtime is loaded for the first time.

  • Per i caricamenti rientranti del runtime stesso non viene richiamato il callback.The callback is not invoked for reentrant loads of the same runtime.

  • Per i caricamenti di runtime non rientrante, le chiamate alla funzione di callback vengono serializzate.For non-reentrant runtime loads, calls to the callback function are serialized.

La funzione di callback è il seguente prototipo:The callback function has the following prototype:

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

I prototipi di funzione di callback sono i seguenti:The callback function prototypes are as follows:

  • pfnCallbackThreadSet:pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

Se l'host tenta di caricare o causare un altro runtime da caricare in modo rientrante, la pfnCallbackThreadSet e pfnCallbackThreadUnset parametri che vengono fornite nel callback di funzione deve essere utilizzata nel modo seguente:If the host intends to load or cause another runtime to be loaded in a reentrant manner, the pfnCallbackThreadSet and pfnCallbackThreadUnset parameters that are provided in the callback function must be used in the following way:

  • pfnCallbackThreadSet deve essere chiamato dal thread che potrebbero causare un carico di runtime prima di tenta un carico di questo tipo.pfnCallbackThreadSet must be called by the thread that might cause a runtime load before such a load is attempted.

  • pfnCallbackThreadUnset deve essere chiamato quando il thread non comporterà un carico di runtime (e prima di restituire il callback iniziale).pfnCallbackThreadUnset must be called when the thread will no longer cause such a runtime load (and before returning from the initial callback).

  • pfnCallbackThreadSet e pfnCallbackThreadUnset sono entrambi non rientrante.pfnCallbackThreadSet and pfnCallbackThreadUnset are both non-reentrant.

Nota

Hosting di applicazioni non devono chiamare pfnCallbackThreadSet e pfnCallbackThreadUnset all'esterno dell'ambito del pCallbackFunction parametro.Host applications must not call pfnCallbackThreadSet and pfnCallbackThreadUnset outside the scope of the pCallbackFunction parameter.

RequisitiRequirements

Piattaforme: vedere requisiti di sistema.Platforms: See System Requirements.

Intestazione: Metahost. HHeader: MetaHost.h

Libreria: inclusa come risorsa in Mscoree. dllLibrary: Included as a resource in MSCorEE.dll

Versioni di .NET framework: Disponibile dalla 4Available since 4.NET Framework Versions: Disponibile dalla 4Available since 4

Vedere ancheSee Also

Interfaccia ICLRMetaHostICLRMetaHost Interface
HostingHosting