Freigeben über


ExtExtension::* ExtKnownStructMethod callback function (engextcpp.hpp)

Die ExtKnownStructMethod Callbackmethode wird vom Modul aufgerufen, um eine Instanz einer Struktur für die Ausgabe in einer einzelnen Zeile zu formatieren.

Syntax

ExtExtension::* ExtKnownStructMethod Extextension::*Extknownstructmethod;

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

Parameter

[in] TypeName

Gibt den Namen des Typs der Struktur an, auf die durch Offsetverwiesen wird. Dies ist identisch mit dem TypeName Feld der ExtKnownStruct Struktur, die zum Registrieren dieser Rückrufmethode verwendet wird.

[in] Flags

Gibt Bitkennzeichnungen an, die angeben, wie die Ausgabe formatiert werden soll. Derzeit ist dies auf DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT festgelegt, was angibt, dass die Ausgabe für die Ausgabe in einer einzelnen Zeile formatiert werden soll.

[in] Offset

Gibt den Speicherort im Speicher des Ziels der Instanz der Struktur an, die für die Ausgabe formatiert werden soll.

Rückgabewert

Nichts

Bemerkungen

Das Debuggermodul erwartet, dass die Ausgabe für das Drucken in einer einzelnen Zeile formatiert wird, sodass die formatierte Struktur keine Zeilenumbrüche aufweist.

Die formatierte Ausgabe dieser Methode sollte im Puffer m_AppendBuffer platziert werden – ein Element von ExtExtension.

Instanzen dieser Rückrufmethode werden mit dem Modul mithilfe einer Instanz der ExtKnownStruct Struktur registriert, die in das Array m_KnownStructs (ein Element von ExtExtension) mithilfe der Initialize-Methode platziert wird. Die ExtKnownStruct Struktur gibt auch den Namen des Typs der Struktur an, die diese Methode formatiert.

Wenn das Debuggermodul eine bekannte Strukturmethode aufruft, wird der Aufruf in einem try /except Block umbrochen. Dadurch wird das Modul vor einigen Arten von Fehlern im Erweiterungscode geschützt. Da die Erweiterungsaufrufe jedoch im selben Thread wie das Modul ausgeführt werden, können sie trotzdem zum Absturz führen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- engextcpp.hpp (include Engextcpp.hpp)

Siehe auch

ExtExtension-

ExtKnownStruct

Initialisieren