Compartir a través de


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)

Consulte también

GetDebuggerData

Ioctl