Dela via


ICLRMetaHost::RequestRuntimeLoadedNotification-metod

Tillhandahåller en återanropsfunktion som garanterat anropas när en CLR-version (Common Language Runtime) först läses in, men inte har startats ännu. Den här metoden ersätter funktionen LockClrVersion .

Syntax

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

Parametrar

pCallbackFunction
[i] Återanropsfunktionen som anropas när en ny körning har lästs in.

Returvärde

Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.

HRESULT Description
S_OK Metoden har slutförts.
E_POINTER pCallbackFunction är null.

Kommentarer

Återanropet fungerar på följande sätt:

  • Återanropet anropas endast när en körning läses in för första gången.

  • Återanropet anropas inte för återaktiveringsbelastningar av samma körning.

  • För icke-reentrant-körningsbelastningar serialiseras anrop till återanropsfunktionen.

Återanropsfunktionen har följande prototyp:

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

Prototyperna för återanropsfunktionen är följande:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

Om värden avser att läsa in eller orsaka att en annan körning läses in på ett nytt sätt, måste parametrarna pfnCallbackThreadSet och pfnCallbackThreadUnset som anges i återanropsfunktionen användas på följande sätt:

  • pfnCallbackThreadSet måste anropas av tråden som kan orsaka en körningsbelastning innan en sådan inläsning görs.

  • pfnCallbackThreadUnset måste anropas när tråden inte längre orsakar en sådan körningsbelastning (och innan den returneras från det första återanropet).

  • pfnCallbackThreadSet och pfnCallbackThreadUnset är båda icke-reentrant.

Anteckning

Värdprogram får inte anropa pfnCallbackThreadSet och pfnCallbackThreadUnset utanför parameterns pCallbackFunction omfång.

Krav

Plattformar: Se Systemkrav.

Huvudet: MetaHost.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 4

Se även