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
undpfnCallbackThreadUnset
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