FunctionLeave3, fonction
Informe le profileur que le contrôle est retourné depuis une fonction.
void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);
Paramètres
- functionOrRemappedID
[in] Identificateur de la fonction à partir de laquelle le contrôle est retourné.
Notes
La fonction de rappel FunctionLeave3 notifie le profileur que les fonctions sont appelées, mais ne prend pas en charge l'inspection de valeur de retour. Utilisez la méthode ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 pour enregistrer votre implémentation de cette fonction.
La fonction FunctionLeave3 est un rappel ; vous devez l'implémenter. L'implémentation doit utiliser l'attribut de classe de stockage __declspec(naked).
Le moteur d'exécution n'enregistre aucun registre avant d'appeler cette fonction.
À l'entrée, vous devez enregistrer tous les registres que vous utilisez, y compris ceux de l'unité en virgule flottante.
À la sortie, vous devez restaurer la pile en dépilant tous les paramètres qui ont fait l'objet d'un push par son appelant.
L'implémentation de FunctionLeave3 ne doit pas bloquer, car cela diffèrerait le garbage collection. L'implémentation ne doit pas tenter de garbage collection, car la pile n'est peut-être pas dans un état de garbage collection convivial. En cas de tentative de garbage collection, le runtime procède à un blocage jusqu'à ce que FunctionLeave3 soit retourné.
La fonction FunctionLeave3 ne doit pas effectuer d'appels dans du code managé, ni générer de quelque manière que ce soit une allocation de mémoire managée.
Configuration requise
Plateformes : consultez Configuration requise du .NET Framework.
En-tête : Corprof.idl
Bibliothèque : CorGuids.lib
Versions du .NET Framework : 4
Voir aussi
Référence
SetEnterLeaveFunctionHooks3WithInfo
Autres ressources
Fonctions statiques globales du profilage
Historique des modifications
Date |
Historique |
Motif |
---|---|---|
Octobre 2010 |
Ajouté __stdcall à la syntaxe. |
Commentaires client. |