Debugging Tools for Windows |
The IG_GET_KERNEL_VERSION Ioctl operation receives information related to the operating system version of the target. When calling Ioctl with IoctlType set to IG_GET_KERNEL_VERSION, IpvData should contain an instance of the DBGKD_GET_VERSION64 structure.
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;
Flag | Meaning when set |
---|---|
DBGKD_VERS_FLAG_MP | The target kernel was compiled with support for multiple processors. |
DBGKD_VERS_FLAG_DATA | The list DebuggerDataList is valid. |
DBGKD_VERS_FLAG_PTR64 | The target uses 64-bit pointers. |
DBGKD_VERS_FLAG_NOMM | The debugger's memory cache is active. If this is not set, the debugger will convert all virtual addresses into physical address before accessing the target's memory. |
DBGKD_VERS_FLAG_HSS | The target supports hardware stepping. |
DBGKD_VERS_FLAG_PARTITIONS | Multiple operating system partitions exist. |
Value | Processor |
---|---|
IMAGE_FILE_MACHINE_I386 | x86 architecture |
IMAGE_FILE_MACHINE_ARM | ARM architecture |
IMAGE_FILE_MACHINE_IA64 | Intel Itanium architecture |
IMAGE_FILE_MACHINE_AMD64 | x64 architecture |
IMAGE_FILE_MACHINE_EBC | EFI byte code architecture |
Value | Processor |
---|---|
DBGKD_SIMULATION_NONE | No simulation is used. |
DBGKD_SIMULATION_EXDI | EXDI simulation is used. |
If this Ioctl operation succeeds, the return value from Ioctl is TRUE; otherwise, it is FALSE.
The parameters for the IG_GET_KERNEL_VERSION Ioctl operation are the members of the DBGKD_GET_VERSION64 structure.
This operation is only available in kernel-mode debugging.
Headers: Declared in wdbgexts.h. If you are writing a DbgEng extension that uses this Ioctl operation, include wdbgexts.h before dbgeng.h (see Writing DbgEng Extension Code for details).