Partager via


ICLRMetaHost::RequestRuntimeLoadedNotification, méthode

Fournit une fonction de rappel garantie d'être appelée lorsqu'une version CLR est chargée en premier, mais pas encore lancée. Cette méthode remplace la fonction LockClrVersion.

HRESULT RequestRuntimeLoadedNotification (
    [in] RuntimeLoadedCallbackFnPtr pCallbackFunction);

Paramètres

  • pCallbackFunction
    [out] Fonction de rappel appelée lorsqu'un nouveau runtime a été chargé.

Valeur de retour

Cette méthode retourne les HRESULT spécifiques suivants ainsi que les erreurs HRESULT qui indiquent l'échec de la méthode.

HRESULT

Description

S_OK

La méthode s'est correctement terminée.

E_POINTER

pCallbackFunction a la valeur null.

Notes

Le rappel fonctionne de la façon suivante :

  • Le rappel est appelé uniquement lorsqu'un runtime est chargé pour la première fois.

  • Le rappel n'est pas appelé pour les chargements réentrants du même runtime.

  • Pour les chargements de runtime non réentrants, les appels à la fonction de rappel sont sérialisés.

La fonction de rappel a le prototype suivant :

typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(
                     ICLRRuntimeInfo *pRuntimeInfo,
                     CallbackThreadSetFnPtr pfnCallbackThreadSet,
                     CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);

Les prototypes de la fonction de rappel sont les suivants :

  • pfnCallbackThreadSet:

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

    typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
    

Si l'hôte projette de charger ou de provoquer le chargement d'un autre runtime de façon réentrante, les paramètres pfnCallbackThreadUnset et pfnCallbackThreadSet fournis dans la fonction de rappel doivent être utilisés comme suit :

  • pfnCallbackThreadSet doit être appelé par le thread qui peut provoquer un chargement de runtime avant ce chargement.

  • pfnCallbackThreadUnset doit être appelé lorsque le thread ne provoquera plus un tel chargement de runtime (et avant le retour du rappel initial).

  • pfnCallbackThreadSet et pfnCallbackThreadUnset sont non réentrants.

RemarqueRemarque

Les applications hôtes ne doivent pas appeler pfnCallbackThreadSet et pfnCallbackThreadUnset en dehors de la portée du paramètre pCallbackFunction.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : MetaHost.h

Bibliothèque : incluse en tant que ressource dans MSCorEE.dll

Versions du .NET Framework : 4

Voir aussi

Référence

ICLRMetaHost, interface

Autres ressources

Hébergement (Référence des API non managées)