Partager via


ExtExtension ::* fonction de rappel ExtKnownStructMethod (engextcpp.hpp)

La méthode de rappel ExtKnownStructMethod est appelée par le moteur pour mettre en forme une instance d’une structure pour la sortie sur une seule ligne.

Syntaxe

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

void Extextension::*Extknownstructmethod(
  [in] PCSTR TypeName,
  [in] ULONG Flags,
  [in] ULONG64 Offset
)
{...}

Paramètres

[in] TypeName

Spécifie le nom du type de la structure pointée par Offset. Il s’agit du même champ TypeName de la structure ExtKnownStruct utilisée pour inscrire cette méthode de rappel.

[in] Flags

Spécifie les indicateurs de bits qui indiquent la façon dont la sortie doit être mise en forme. Actuellement, cette valeur est définie sur DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT, ce qui indique que la sortie doit être mise en forme pour la sortie sur une seule ligne.

[in] Offset

Spécifie l’emplacement dans la mémoire de la cible de l’instance de la structure à mettre en forme pour la sortie.

Valeur de retour

Aucun

Remarques

Le moteur de débogueur s’attend à ce que la sortie soit mise en forme pour l’impression sur une seule ligne. Par conséquent, elle ne s’attend pas à ce que la structure mise en forme ait des sauts de ligne.

La sortie mise en forme de cette méthode doit être placée dans la mémoire tampon m_AppendBuffer - membre de ExtExtension.

Les instances de cette méthode de rappel sont inscrites auprès du moteur à l’aide d’une instance de la structure ExtKnownStruct placée dans le tableau m_KnownStructs (membre de extExtension) par la méthode Initialize. La structure ExtKnownStruct spécifie également le nom du type de structure que cette méthode met en forme.

Lorsque le moteur du débogueur appelle une méthode de structure connue, il encapsule l’appel dans un essayer / sauf bloc. Cela protège le moteur contre certains types de bogues dans le code d’extension ; mais, étant donné que les appels d’extension sont exécutés dans le même thread que le moteur, ils peuvent toujours provoquer un blocage.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête engextcpp.hpp (include Engextcpp.hpp)

Voir aussi

ExtExtension

ExtKnownStruct

Initialiser