ICLRMetaHost::RequestRuntimeLoadedNotification (Método)
Proporciona una función de devolución de llamada a la que se garantiza que se llama cuando se carga por primera vez una versión de Common Language Runtime (CLR), pero aún no se ha iniciado. Este método sustituye a la función LockClrVersion.
Sintaxis
HRESULT RequestRuntimeLoadedNotification (
[in] RuntimeLoadedCallbackFnPtr pCallbackFunction);
Parámetros
pCallbackFunction
[in] Función de devolución de llamada que se invoca cuando se ha cargado un runtime.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos y los errores HRESULT que indican un error del método.
HRESULT | Descripción |
---|---|
S_OK | El método se completó correctamente. |
E_POINTER | pCallbackFunction es null. |
Comentarios
La devolución de llamada funciona de la siguiente manera:
La devolución de llamada se invoca solo cuando se carga un runtime por primera vez.
La devolución de llamada no se invoca para cargas reentrantes del mismo runtime.
Para cargas de runtime no reentrantes, se serializan las llamadas a la función de devolución de llamada.
La función de devolución de llamada cuenta con 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 pretende cargar o hacer que otro runtime se cargue de forma reentrante, los parámetros pfnCallbackThreadSet
y pfnCallbackThreadUnset
que se proporcionan en la función de devolución de llamada se deben usar de la siguiente manera:
El subproceso que puede provocar una carga en tiempo de ejecución debe llamar a
pfnCallbackThreadSet
antes de que se intente dicha carga.Se debe llamar a
pfnCallbackThreadUnset
cuando el subproceso ya no provoque dicha carga en tiempo de ejecución (y antes de volver de la devolución de llamada inicial).Tanto
pfnCallbackThreadSet
comopfnCallbackThreadUnset
no son reentrantes.
Nota
Las aplicaciones host no deben llamar a pfnCallbackThreadSet
ni a pfnCallbackThreadUnset
fuera del ámbito del parámetro pCallbackFunction
.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MetaHost.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 4