Delen via


Methode ICLRMetaHost::RequestRuntimeLoadedNotification

Biedt een callback-functie die gegarandeerd wordt aangeroepen wanneer een CLR-versie (Common Language Runtime) voor het eerst wordt geladen, maar nog niet is gestart. Deze methode vervangt de functie LockClrVersion .

Syntaxis

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

Parameters

pCallbackFunction
[in] De callback-functie die wordt aangeroepen wanneer een nieuwe runtime is geladen.

Retourwaarde

Deze methode retourneert de volgende specifieke HRESULT's en HRESULT-fouten die wijzen op een methodefout.

HRESULT Beschrijving
S_OK De methode is voltooid.
E_POINTER pCallbackFunction is null.

Opmerkingen

De callback werkt op de volgende manier:

  • De callback wordt alleen aangeroepen wanneer een runtime voor het eerst wordt geladen.

  • De callback wordt niet aangeroepen voor opnieuw optredende ladingen van dezelfde runtime.

  • Voor niet-nieuwe runtimebelastingen worden aanroepen naar de callback-functie geserialiseerd.

De callback-functie heeft het volgende prototype:

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

De prototypen van de callbackfunctie zijn als volgt:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

Als de host van plan is om te laden of ervoor te zorgen dat een andere runtime op een nieuwe manier wordt geladen, moeten de pfnCallbackThreadSet parameters en pfnCallbackThreadUnset die zijn opgegeven in de callback-functie op de volgende manier worden gebruikt:

  • pfnCallbackThreadSet moet worden aangeroepen door de thread die een runtimebelasting kan veroorzaken voordat een dergelijke belasting wordt uitgevoerd.

  • pfnCallbackThreadUnset moet worden aangeroepen wanneer de thread niet langer een dergelijke runtimebelasting veroorzaakt (en voordat wordt geretourneerd vanuit de initiĆ«le callback).

  • pfnCallbackThreadSet en pfnCallbackThreadUnset zijn beide niet-terugkerend.

Notitie

Hosttoepassingen mogen niet aanroepen pfnCallbackThreadSet en pfnCallbackThreadUnset vallen buiten het bereik van de pCallbackFunction parameter.

Vereisten

Platforms: Zie Systeemvereisten.

Header: MetaHost.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 4

Zie ook