Partager via


FunctionEnter (fonction)

Notifie le profileur que le contrôle est passé à une fonction.

Notes

La fonction FunctionEnter est dépréciée dans .NET Framework version 2.0 et son utilisation entraîne une baisse de performances. Utilisez plutôt la fonction FunctionEnter2.

Syntaxe

void __stdcall FunctionEnter (  
    [in]  FunctionID funcID  
);  

Paramètres

funcID [in] Identificateur de la fonction à laquelle le contrôle est passé.

Notes

La fonction FunctionEnter 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 FunctionEnter 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 FunctionEnter soit retourné.

En outre, la fonction FunctionEnter 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

Voir aussi