Freigeben über


ICLRMetaHost::RequestRuntimeLoadedNotification-Methode

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

HRESULT RequestRuntimeLoadedNotification (
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);

Parameter

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

Rückgabewert

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

HRESULT

Beschreibungen

S_OK

Die Methode wurde erfolgreich abgeschlossen.

E_POINTER

pCallbackFunction ist NULL.

Hinweise

Der Rückruf wird wie folgt ausgeführt:

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

  • Der Rückruf wird nicht für wiedereintretendes Laden der gleichen Laufzeit aufgerufen.

  • Für nicht wiedereintretendes Laden der Laufzeit 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 Rückruffunktionsprototypen lauten wie folgt:

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
    

Wenn der Host beabsichtigt, eine Laufzeit wiedereintretend zu laden oder das wiedereintretende Laden einer anderen Laufzeit zu verursachen, müssen der pfnCallbackThreadSet-Parameter und der pfnCallbackThreadUnset-Parameter, die in der Rückruffunktion bereitgestellt werden, auf folgende Weise verwendet werden:

  • pfnCallbackThreadSet muss von dem Thread aufgerufen werden, der das Laden der Laufzeit verursachen kann, bevor versucht wird, die Laufzeit zu laden.

  • pfnCallbackThreadUnset muss aufgerufen werden, wenn der Thread nicht mehr das Laden der Laufzeit verursacht (und vor dem Beenden des ursprünglichen Rückrufs).

  • Sowohl pfnCallbackThreadSet als auch pfnCallbackThreadUnset sind nicht wiedereintretend.

HinweisHinweis

Hostanwendungen dürfen pfnCallbackThreadSet und pfnCallbackThreadUnset nicht außerhalb des Gültigkeitsbereichs des pCallbackFunction-Parameters aufrufen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MetaHost.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4

Siehe auch

Referenz

ICLRMetaHost-Schnittstelle

Weitere Ressourcen

Hosting (Referenz zur nicht verwalteten API)