estructura DBGKD_GET_VERSION64 (wdbgexts.h)
La operación de IG_GET_KERNEL_VERSION Ioctl recibe información relacionada con la versión del sistema operativo del destino. Al llamar a Ioctl con IoctlType establecido en IG_GET_KERNEL_VERSION, IpvData debe contener una instancia de la estructura de DBGKD_GET_VERSION64.
Sintaxis
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;
Miembros
MajorVersion
Recibe 0xF si el sistema operativo del destino es una compilación gratuita y 0xC si se trata de una compilación comprobada.
MinorVersion
Recibe el número de compilación del sistema operativo del destino.
ProtocolVersion
Recibe la versión del protocolo del depurador que se usa para comunicarse entre el depurador y el destino.
KdSecondaryVersion
Recibe un número de versión secundario que se usa para distinguir entre contextos antiguos y en desuso.
Flags
Recibe un conjunto de marcas de bits para la sesión de depuración actual. Las marcas siguientes pueden estar presentes.
Marca | Significado cuando se establece |
---|---|
DBGKD_VERS_FLAG_MP | El kernel de destino se compiló con compatibilidad con varios procesadores. |
DBGKD_VERS_FLAG_DATA | La lista DebuggerDataList es válida. |
DBGKD_VERS_FLAG_PTR64 | El destino usa punteros de 64 bits. |
DBGKD_VERS_FLAG_NOMM | La memoria caché del depurador está activa. Si no se establece, el depurador convertirá todas las direcciones virtuales en una dirección física antes de acceder a la memoria del destino. |
DBGKD_VERS_FLAG_HSS | El destino admite la ejecución paso a paso por hardware. |
DBGKD_VERS_FLAG_PARTITIONS | Existen varias particiones de sistema operativo. |
MachineType
Recibe el tipo del procesador del destino. Los posibles tipos de procesador se enumeran en la tabla siguiente.
Value | Procesador |
---|---|
IMAGE_FILE_MACHINE_I386 | Arquitectura x86 |
IMAGE_FILE_MACHINE_ARM | Arquitectura de ARM |
IMAGE_FILE_MACHINE_IA64 | Arquitectura de Intel Itanium |
IMAGE_FILE_MACHINE_AMD64 | Arquitectura x64 |
IMAGE_FILE_MACHINE_EBC | Arquitectura de código de bytes de EFI |
MaxPacketType
Recibe uno más el número más alto de un tipo de paquete del depurador reconocido por el destino.
MaxStateChange
Recibe uno más el número más alto de un cambio de estado generado por el destino.
MaxManipulate
Recibe uno más que el número más alto, reconocido por el destino, para que un comando manipule el destino.
Simulation
Recibe una indicación si el destino está en ejecución simulada. Los valores posibles se enumeran en la tabla siguiente.
Value | Procesador |
---|---|
DBGKD_SIMULATION_NONE | No se usa ninguna simulación. |
DBGKD_SIMULATION_EXDI | Se usa la simulación EXDI. |
Unused[1]
Sin usar.
KernBase
Recibe la dirección base de la imagen del kernel.
PsLoadedModuleList
Recibe el valor de la variable kernel PsLoadedModuleList.
DebuggerDataList
Recibe el valor de la variable kernel KdDebuggerDataBlock. Este puntero a una estructura de KDDEBUGGER_DATA64 o a una estructura de KDDEBUGGER_DATA32. Use la función GetDebuggerData para capturar esta estructura.
Comentarios
Los parámetros de la operación IG_GET_KERNEL_VERSION Ioctl son los miembros de la estructura de DBGKD_GET_VERSION64.
Esta operación solo está disponible en la depuración en modo kernel.
Requisitos
Requisito | Valor |
---|---|
Header | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |