FunctionLeave (fonction)
Avertit le profileur qu’une fonction est sur le point d’être retournée à l’appelant.
Notes
La fonction FunctionLeave
est dépréciée dans .NET Framework 2.0. Elle continuera de fonctionner, mais avec de moins bonnes performances. Utilisez plutôt la fonction FunctionLeave2.
Syntaxe
void __stdcall FunctionLeave (
[in] FunctionID funcID
);
Paramètres
funcID
[in] Identificateur de la fonction retournée.
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.
Lors de l’entrée, vous devez enregistrer tous les registres que vous utilisez, y compris ceux de l’unité à virgule flottante (FPU).
Lors de la sortie, vous devez restaurer la pile en décochant tous les paramètres qui ont été envoyés par son appelant.
L’implémentation de FunctionLeave
ne doit pas bloquer, car cela retarderait le garbage collection. L’implémentation ne doit pas tenter un garbage collection, car la pile peut ne pas être dans un état compatible avec le garbage collection. Si un garbage collection est tenté, le runtime bloque jusqu’à ce que FunctionLeave
soit retourné.
En outre, la fonction FunctionLeave
ne doit absolument pas appeler de code managé ni entraîner, de quelque manière, une allocation de mémoire managée.
Spécifications
Plateformes : Consultez Configuration requise.
Header: CorProf.idl
Bibliothèque : CorGuids.lib
Versions de .NET Framework : 1.1, 1.0