FunctionLeave, fonction
Mise à jour : novembre 2007
Informe le profileur qu'une fonction va retourner à l'appelant.
Remarque : |
---|
La fonction FunctionLeave est désapprouvée dans .NET Framework 2.0. Elle continuera à fonctionner, mais altérera les performances. Utilisez à la place la fonction FunctionLeave2. |
void FunctionLeave (
[in] FunctionID funcID
);
Paramètres
- funcID
[in] Identificateur de la fonction qui retourne.
Notes
La fonction FunctionLeave 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 réinitialisant tous les paramètres qui ont fait l'objet d'un push par son appelant.
L'implémentation de FunctionLeave 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 FunctionLeave soit retourné.
De plus, la fonction FunctionLeave 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 : 1.1, 1.0
Voir aussi
Référence
ICorProfilerInfo2::SetEnterLeaveFunctionHooks2, méthode