Freigeben über


ICLRMetaHost::RequestRuntimeLoadedNotification-Methode

Stellt eine Rückruffunktion bereit, die garantiert aufgerufen wird, wenn eine CLR-Version (Common Language Runtime) erstmals geladen, aber noch nicht gestartet wird. Diese Methode ersetzt die LockClrVersion--Funktion.

Syntax

HRESULT RequestRuntimeLoadedNotification (  
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);  

Parameter

pCallbackFunction
[in] Die Rückruffunktion, die aufgerufen wird, wenn eine neue Runtime geladen wurde.

Rückgabewert

Diese Methode gibt die folgenden spezifischen HRESULTs sowie HRESULT-Fehler zurück, die Methodenfehler anzeigen.

HRESULT BESCHREIBUNG
S_OK Die Methode wurde erfolgreich abgeschlossen.
E_POINTER pCallbackFunction ist NULL.

Bemerkungen

Der Rückruf funktioniert folgendermaßen:

  • Der Rückruf wird nur aufgerufen, wenn eine Runtime zum ersten Mal geladen wird.

  • Der Rückruf wird nicht für eintrittsinvariante Ladevorgänge derselben Runtime aufgerufen.

  • Bei nicht eintrittsinvarianten Ladevorgängen der Runtime werden Aufrufe der Rückruffunktion serialisiert.

Die Rückruffunktion verfügt über den folgenden Prototyp:

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

Die Prototypen der Rückruffunktion lauten wie folgt:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();  
    

Wenn der Host beabsichtigt, eine weitere Runtime eintrittsinvariant zu laden oder dies zu veranlassen, müssen die in der Rückruffunktion angegebenen Parameter pfnCallbackThreadSet und pfnCallbackThreadUnset auf folgende Weise verwendet werden:

  • pfnCallbackThreadSet muss durch den Thread aufgerufen werden, der das Laden einer Runtime verursachen könnte, bevor ein solcher Ladevorgang gestartet wird.

  • pfnCallbackThreadUnset muss aufgerufen werden, wenn der Thread nicht länger das Laden einer Runtime auslöst (und vor Rückgabe des ersten Rückrufs).

  • pfnCallbackThreadSet und pfnCallbackThreadUnset sind beide nicht eintrittsinvariant.

Hinweis

Hostanwendungen dürfen pfnCallbackThreadSet und pfnCallbackThreadUnset nicht außerhalb des Bereichs für den pCallbackFunction-Parameter aufrufen.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MetaHost.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit Version 4 verfügbar

Siehe auch