RUNTIME_FUNCTION, structure

La gestion des exceptions basée sur une table exige une entrée de table pour toutes les fonctions qui allouent de l'espace de pile ou appellent une autre fonction (par exemple, les fonctions non-feuille).Les entrées d'une table de fonctions ont le format suivant :

ULONG

Adresse de début de fonction

ULONG

Adresse de fin de fonction

ULONG

Adresse des informations de déroulement

La structure RUNTIME_FUNCTION doit être alignée sur un DWORD en mémoire.Toutes les adresses sont relatives à l'image, c'est-à-dire qu'elles sont des offsets de 32 bits de l'adresse de départ de l'image qui contient l'entrée de la table de fonctions.Ces entrées sont triées et placées dans la section .pdata d'une image PE32+.Pour les fonctions générées dynamiquement [Compilateurs JIT], le runtime prenant en charge ces fonctions doit utiliser RtlInstallFunctionTableCallback ou RtlAddFunctionTable pour fournir cette information au système d'exploitation.Sinon, cela entraînera une gestion des exceptions et un débogage de processus peu fiables.

Voir aussi

Référence

Données de déroulement pour la gestion des exceptions et la prise en charge du débogueur