PDEBUG_EXTENSION_KNOWN_STRUCT Rückruffunktion (dbgeng.h)
Das Modul ruft die Rückruffunktion KnownStructOutput auf, um Informationen zu Strukturen anzufordern, die die Erweiterungs-DLL für den Druck formatieren kann. Die Engine ruft diese Funktion aus den folgenden Gründen auf.
- Rufen Sie eine Liste der Strukturen ab, die die DLL zum Drucken formatieren kann.
- Rufen Sie eine einzeilige Darstellung einer bestimmten Struktur ab.
- Fragen Sie, ob der Name einer bestimmten Struktur zusammen mit ihrer einzeiligen Darstellung gedruckt werden soll.
Syntax
PDEBUG_EXTENSION_KNOWN_STRUCT PdebugExtensionKnownStruct;
HRESULT PdebugExtensionKnownStruct(
[in] ULONG Flags,
[in] ULONG64 Offset,
[in] PSTR TypeName,
[out] PSTR Buffer,
[in, out] PULONG BufferChars
)
{...}
Parameter
[in] Flags
Einer der folgenden Werte, je nachdem, welche Informationen das Modul aus der Erweiterungs-DLL abrufen möchte.
Wert | BESCHREIBUNG |
---|---|
DEBUG_KNOWN_STRUCT_GET_NAMES | Rufen Sie eine Liste der Strukturnamen ab. |
DEBUG_KNOWN_STRUCT_SUPPRESS_TYPE_NAME | Fragen Sie, ob der Name einer Struktur gedruckt werden soll. |
DEBUG_KNOWN_STRUCT_GET_SINGLE_LINE_OUTPUT | Rufen Sie eine einzeilige Darstellung einer Struktur ab. |
[in] Offset
Beim Abrufen einer Liste mit Namen: Unbenutzte.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Unbenutzte.
Beim Abrufen einer einzeiligen Darstellung: Gibt den Speicherort im Speicheradressraum des Ziels der zu druckenden Struktur an.
[in] TypeName
Beim Abrufen einer Liste mit Namen: Unbenutzte.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Gibt den Namen der Struktur an. Dies ist einer der Von der DEBUG_KNOWN_STRUCT_GET_NAMES Abfrage zurückgegebenen Namen.
Beim Abrufen einer einzeiligen Darstellung: Gibt den Namen der Struktur an. Dies ist einer der Von der DEBUG_KNOWN_STRUCT_GET_NAMES Abfrage zurückgegebenen Namen.
[out] Buffer
Beim Abrufen einer Liste mit Namen: Empfängt eine Liste der Namen der Strukturen, die die Erweiterung zum Drucken formatieren kann. Zwischen jedem Namenpaar muss ein NULL-Zeichen angezeigt werden. Die Liste muss mit zwei NULL-Zeichen beendet werden. Die Anzahl der Zeichen, die in diesen Puffer geschrieben werden, darf den Wert von BufferSize nicht überschreiten.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Unbenutzte.
Beim Abrufen einer einzeiligen Darstellung: Empfängt eine Darstellung der Struktur, die durch StructName und Address als Zeichenfolge identifiziert wird. Die Anzahl der Zeichen, die in diesen Puffer geschrieben werden, darf den Wert von BufferSize nicht überschreiten.
[in, out] BufferChars
Beim Abrufen einer Liste mit Namen: Gibt bei der Eingabe die Größe von Puffer in Zeichen an. Wenn der Puffer zu klein ist, empfängt bei der Ausgabe die erforderliche Puffergröße.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Unbenutzte.
Beim Abrufen einer einzeiligen Darstellung: Gibt bei der Eingabe die Größe von Puffer in Zeichen an. Wenn der Puffer zu klein ist, empfängt bei der Ausgabe die erforderliche Puffergröße.
Rückgabewert
Rückgabecode | BESCHREIBUNG |
---|---|
|
Beim Abrufen einer Liste von Namen: Puffer enthält die angeforderte Liste mit Namen.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Das Drucken des Namens sollte unterdrückt werden. Das heißt, der Name sollte nicht gedruckt werden. Beim Abrufen einer einzeiligen Darstellung: Puffer enthält die angeforderte einzeilige Darstellung. |
|
Beim Abrufen einer Liste von Namen: BufferSize war bei der Eingabe zu klein. Bei der Ausgabe enthält BufferSize die erforderliche Puffergröße.
Wenn Sie fragen, ob ein Name gedruckt werden soll: Das Drucken des Namens sollte nicht unterdrückt werden. Das heißt, der Name sollte gedruckt werden. Beim Abrufen einer einzeiligen Darstellung: BufferSize war bei der Eingabe zu klein. Bei der Ausgabe enthält BufferSize die erforderliche Puffergröße. |
Alle anderen Rückgabewerte weisen darauf hin, dass die Funktion fehlgeschlagen ist. Die Engine ignoriert weiterhin den Inhalt von Buffer.
Hinweise
Diese Funktion ist optional. Eine Erweiterungs-DLL muss KnownStructOutput nur exportieren, wenn sie spezielle Strukturen für das Drucken in einer einzelnen Zeile formatieren kann. Die Engine sucht diese Funktion anhand des Namens in der Erweiterungs-DLL.
Nach dem Initialisieren der Erweiterungs-DLL ruft das Modul diese Funktion auf, um die DLL nach der Liste der Strukturnamen abzufragen, die sie drucken kann. Wenn das Modul dann eine Zusammenfassung einer der Strukturen ausgibt, deren Name in der Liste enthalten ist, ruft es diese Funktion auf, um die Struktur für den Druck zu formatieren.
KnownStructOutput wird in der Headerdatei Dbgeng.h PDEBUG_EXTENSION_KNOWN_STRUCT genannt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | dbgeng.h |