DEBUG_TYPED_DATA-Struktur (wdbgexts.h)
Die DEBUG_TYPED_DATA-Struktur beschreibt typisierte Daten im Speicher des Ziels.
Syntax
typedef struct _DEBUG_TYPED_DATA {
ULONG64 ModBase;
ULONG64 Offset;
ULONG64 EngineHandle;
ULONG64 Data;
ULONG Size;
ULONG Flags;
ULONG TypeId;
ULONG BaseTypeId;
ULONG Tag;
ULONG Register;
ULONG64 Internal[9];
} DEBUG_TYPED_DATA, *PDEBUG_TYPED_DATA;
Member
ModBase
Die Basisadresse des Moduls im virtuellen Adressraum des Ziels, das die eingegebenen Daten enthält.
Offset
Der Speicherort der eingegebenen Daten im Speicher des Ziels. Offset ist eine Adresse des virtuellen Speichers, es sei denn, es sind Flags vorhanden, die angeben, dass Offset eine adresse des physischen Arbeitsspeichers ist.
EngineHandle
Auf NULL festlegen.
Data
Die Daten werden in eine ULONG64 umgewandelt. Wenn Flags das DEBUG_TYPED_DATA_IS_IN_MEMORY-Flag nicht enthält, sind die Daten nicht verfügbar, und Data ist auf 0 festgelegt.
Size
Die Größe der Daten in Bytes.
Flags
Die Flags, die den Arbeitsspeicher des Ziels beschreiben, in dem sich die Daten befinden. Die folgenden Bitflags können festgelegt werden.
Flag | Beschreibung |
---|---|
DEBUG_TYPED_DATA_IS_IN_MEMORY | Die Daten befinden sich im Speicher des Ziels und sind verfügbar. |
DEBUG_TYPED_DATA_PHYSICAL_DEFAULT | Offset ist eine Adresse des physischen Arbeitsspeichers, und der physische Arbeitsspeicher bei Offset verwendet die Standardspeicherspeicherung. |
DEBUG_TYPED_DATA_PHYSICAL_CACHED | Offset ist eine Adresse des physischen Arbeitsspeichers, und der physische Arbeitsspeicher bei Offset wird zwischengespeichert. |
DEBUG_TYPED_DATA_PHYSICAL_UNCACHED | Offset ist eine Adresse des physischen Arbeitsspeichers, und der physische Arbeitsspeicher bei Offset ist nicht zwischengespeichert. |
DEBUG_TYPED_DATA_PHYSICAL_WRITE_COMBINED | Offset ist eine Adresse des physischen Arbeitsspeichers, und der physische Arbeitsspeicher bei Offset wird kombiniert. |
TypeId
Die Typ-ID für den Datentyp.
BaseTypeId
Bei generierten Typen die Typ-ID des Typs, auf dem der Typ der Daten basiert. Wenn die eingegebenen Daten beispielsweise einen Zeiger (oder ein Array) darstellen, ist BaseTypeId der Typ des Objekts, auf das verwiesen wird (oder im Array gehalten wird).
Für andere Typen ist BaseTypeId mit TypeId identisch.
Tag
Das Symboltag der eingegebenen Daten. Dies ist ein Wert aus der SymTagEnum-Enumeration . Beschreibungen der Werte finden Sie in der Dokumentation zur DbgHelp-API.
Register
Der Index des Registers des Verarbeiters, das die Daten enthält, oder null, wenn die Daten nicht in einem Register enthalten sind. (Beachten Sie, dass der Nullwert entweder darstellen kann, dass sich die Daten nicht in einem Register oder im Register befindet, dessen Index 0 ist.)
Internal[9]
Interne Debugger-Engine-Daten .
Hinweise
Instanzen dieser Struktur sollten mithilfe des Vorgangs DEBUG_REQUEST_EXT_TYPED_DATA_ANSI Anforderung bearbeitet werden. Insbesondere sollten Instanzen mit dieser Methode erstellt und freigegeben werden, und Member dieser Struktur sollten nicht direkt geändert werden.
Es gibt eine Ausnahme von der vorherigen Regel: Die EXT_TDOP_SET_FROM_TYPE_ID_AND_U64 und EXT_TDOP_SET_PTR_FROM_TYPE_ID_AND_U64 Unteroperationen nehmen einen DEBUG_TYPED_DATA instance an, der nicht mit der Request-Methode bearbeitet wird. Diese Unteroperationen verwenden einen manuell erstellten instance, bei dem einige Elemente manuell ausgefüllt werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | wdbgexts.h (einschließen von WdbgExts.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für