ICLRMetaHost::RequestRuntimeLoadedNotification (Método)
Proporciona una función de devolución de llamada que garantiza que se llamará cuando una versión de Common Language Runtime (CLR) se carga por primera vez, pero todavía no se ha iniciado. Este método reemplaza la función LockClrVersion.
HRESULT RequestRuntimeLoadedNotification (
[in] RuntimeLoadedCallbackFnPtr pCallbackFunction);
Parámetros
- pCallbackFunction
[in] La función de devolución de llamada que se invoca cuando se ha cargado un nuevo runtime.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.
HRESULT |
Descripción |
---|---|
S_OK |
El método se ha ejecutado correctamente. |
E_POINTER |
pCallbackFunction es null. |
Comentarios
La devolución de llamada funciona de la manera siguiente:
Solo se invoca la devolución de llamada cuando se carga un runtime por primera vez.
La devolución de llamada no se invoca para las cargas reentrantes del mismo runtime.
Para las cargas del runtime no reentrantes, las llamadas a la función de devolución de llamada se serializan.
La función de devolución de llamada tiene el prototipo siguiente:
typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(
ICLRRuntimeInfo *pRuntimeInfo,
CallbackThreadSetFnPtr pfnCallbackThreadSet,
CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);
Los prototipos de la función de devolución de llamada son los siguientes:
pfnCallbackThreadSet:
typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();
pfnCallbackThreadUnset:
typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
Si el host piensa cargar o hacer que se cargue otro runtime de una manera reentrante, los parámetros pfnCallbackThreadUnset y pfnCallbackThreadSet que se proporcionan en la función de devolución de llamada se deben usar de la manera siguiente:
El subproceso que podría producir una carga en tiempo de ejecución antes de intentar este tipo de carga debe llamar a pfnCallbackThreadSet.
Se debe llamar a pfnCallbackThreadUnset cuando el subproceso ya no vaya a producir este tipo de carga en tiempo de ejecución (y antes de volver de la devolución de llamada inicial).
Tanto pfnCallbackThreadSet como pfnCallbackThreadUnset son no reentrantes.
Nota |
---|
Las aplicaciones host no deben llamar a pfnCallbackThreadSet y pfnCallbackThreadUnset fuera del ámbito del parámetro pCallbackFunction. |
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: MetaHost.h
Biblioteca: Se incluye como recurso en MsCorEE.dll
Versiones de .NET Framework: 4