Freigeben über


DBGKD_GET_VERSION64 Struktur (wdbgexts.h)

Der IG_GET_KERNEL_VERSION Ioctl Vorgang empfängt Informationen zur Betriebssystemversion des Ziels. Beim Aufrufen von Ioctl mit IoctlType- auf IG_GET_KERNEL_VERSION festgelegt, sollte IpvData- eine Instanz der DBGKD_GET_VERSION64-Struktur enthalten.

Syntax

typedef struct _DBGKD_GET_VERSION64 {
  USHORT  MajorVersion;
  USHORT  MinorVersion;
  UCHAR   ProtocolVersion;
  UCHAR   KdSecondaryVersion;
  USHORT  Flags;
  USHORT  MachineType;
  UCHAR   MaxPacketType;
  UCHAR   MaxStateChange;
  UCHAR   MaxManipulate;
  UCHAR   Simulation;
  USHORT  Unused[1];
  ULONG64 KernBase;
  ULONG64 PsLoadedModuleList;
  ULONG64 DebuggerDataList;
} DBGKD_GET_VERSION64, *PDBGKD_GET_VERSION64;

Angehörige

MajorVersion

Empfängt 0xF, wenn das Betriebssystem des Ziels ein kostenloser Build ist, und 0xC, wenn es sich um einen überprüften Build handelt.

MinorVersion

Empfängt die Buildnummer für das Betriebssystem des Ziels.

ProtocolVersion

Empfängt die Version des Debuggerprotokolls, das für die Kommunikation zwischen dem Debugger und dem Ziel verwendet wird.

KdSecondaryVersion

Empfängt eine sekundäre Versionsnummer, die verwendet wird, um zwischen älteren, veralteten Kontexten zu unterscheiden.

Flags

Empfängt eine Reihe von Bitkennzeichnungen für die aktuelle Debugsitzung. Die folgenden Flags können vorhanden sein.

Flagge Bedeutung, wenn festgelegt
DBGKD_VERS_FLAG_MP Der Zielkernkern wurde mit Unterstützung für mehrere Prozessoren kompiliert.
DBGKD_VERS_FLAG_DATA Die Liste DebuggerDataList gültig ist.
DBGKD_VERS_FLAG_PTR64 Das Ziel verwendet 64-Bit-Zeiger.
DBGKD_VERS_FLAG_NOMM Der Speichercache des Debuggers ist aktiv. Wenn dies nicht festgelegt ist, konvertiert der Debugger alle virtuellen Adressen in physische Adressen, bevor auf den Speicher des Ziels zugegriffen wird.
DBGKD_VERS_FLAG_HSS Das Ziel unterstützt das Hardwareschritten.
DBGKD_VERS_FLAG_PARTITIONS Es sind mehrere Betriebssystempartitionen vorhanden.

MachineType

Empfängt den Typ des Prozessors des Ziels. Mögliche Prozessortypen sind in der folgenden Tabelle aufgeführt.

Wert Prozessor
IMAGE_FILE_MACHINE_I386 x86-Architektur
IMAGE_FILE_MACHINE_ARM ARM-Architektur
IMAGE_FILE_MACHINE_IA64 Intel Itanium-Architektur
IMAGE_FILE_MACHINE_AMD64 x64-Architektur
IMAGE_FILE_MACHINE_EBC EFI-Bytecodearchitektur

MaxPacketType

Empfängt eine plus die höchste Zahl für einen Debuggerpakettyp, der vom Ziel erkannt wird.

MaxStateChange

Empfängt eine plus die höchste Zahl für eine Zustandsänderung, die vom Ziel generiert wird.

MaxManipulate

Erhält eine weitere, die die höchste Zahl, die vom Ziel erkannt wird, für einen Befehl zum Bearbeiten des Ziels.

Simulation

Empfängt einen Hinweis, wenn sich das Ziel in simulierter Ausführung befindet. Mögliche Werte sind in der folgenden Tabelle aufgeführt.

Wert Prozessor
DBGKD_SIMULATION_NONE Es wird keine Simulation verwendet.
DBGKD_SIMULATION_EXDI EXDI-Simulation wird verwendet.

Unused[1]

Unbenutzt.

KernBase

Empfängt die Basisadresse des Kernelimages.

PsLoadedModuleList

Empfängt den Wert der Kernelvariable PsLoadedModuleList.

DebuggerDataList

Empfängt den Wert der Kernelvariable KdDebuggerDataBlock. Dies ist ein Zeiger auf eine KDDEBUGGER_DATA64 Struktur oder eine KDDEBUGGER_DATA32 Struktur. Verwenden Sie die Funktion GetDebuggerData-, um diese Struktur abzurufen.

Bemerkungen

Die Parameter für den IG_GET_KERNEL_VERSION Ioctl Vorgang sind die Member der DBGKD_GET_VERSION64 Struktur.

Dieser Vorgang ist nur im Kernelmodusdebugging verfügbar.

Anforderungen

Anforderung Wert
Header- wdbgexts.h (include Wdbgexts.h, Dbgeng.h)

Siehe auch

GetDebuggerData-

Ioctl-