Compartir a través de


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.

NotaNota

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

Vea también

Referencia

ICLRMetaHost (Interfaz)

Otros recursos

Hospedaje (Referencia de la API no administrada)