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) |