Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |