Compartilhar via


estrutura DBGKD_GET_VERSION64 (wdbgexts.h)

A IG_GET_KERNEL_VERSION operação Ioctl recebe informações relacionadas à versão do sistema operacional do destino. Ao chamar Ioctl com IoctlType definido como IG_GET_KERNEL_VERSION, IpvData deve conter uma instância da estrutura DBGKD_GET_VERSION64.

Sintaxe

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;

Membros

MajorVersion

Recebe 0xF se o sistema operacional do destino for um build gratuito e 0xC se for um build verificado.

MinorVersion

Recebe o número de build para o sistema operacional do destino.

ProtocolVersion

Recebe a versão do protocolo de depurador usada para se comunicar entre o depurador e o destino.

KdSecondaryVersion

Recebe um número de versão secundário que é usado para distinguir entre contextos mais antigos e preteridos.

Flags

Recebe um conjunto de sinalizadores de bits para a sessão de depuração atual. Os sinalizadores a seguir podem estar presentes.

Sinalizador Significado quando definido
DBGKD_VERS_FLAG_MP O kernel de destino foi compilado com suporte para vários processadores.
DBGKD_VERS_FLAG_DATA A lista DebuggerDataList é válida.
DBGKD_VERS_FLAG_PTR64 O destino usa ponteiros de 64 bits.
DBGKD_VERS_FLAG_NOMM O cache de memória do depurador está ativo. Se isso não estiver definido, o depurador converterá todos os endereços virtuais em endereço físico antes de acessar a memória do destino.
DBGKD_VERS_FLAG_HSS O destino dá suporte à etapa de hardware.
DBGKD_VERS_FLAG_PARTITIONS Existem várias partições do sistema operacional.

MachineType

Recebe o tipo do processador do destino. Os possíveis tipos de processador são listados na tabela a seguir.

Valor Processador
IMAGE_FILE_MACHINE_I386 Arquitetura x86
IMAGE_FILE_MACHINE_ARM Arquitetura do ARM
IMAGE_FILE_MACHINE_IA64 Arquitetura do Intel Itanium
IMAGE_FILE_MACHINE_AMD64 Arquitetura x64
IMAGE_FILE_MACHINE_EBC Arquitetura de código de byte EFI

MaxPacketType

Recebe um mais o número mais alto para um tipo de pacote de depurador reconhecido pelo destino.

MaxStateChange

Recebe um mais o número mais alto para uma alteração de estado gerada pelo destino.

MaxManipulate

Recebe mais um que o número mais alto, reconhecido pelo destino, para um comando manipular o destino.

Simulation

Recebe uma indicação se o destino está em execução simulada. Os valores possíveis são listados na tabela a seguir.

Valor Processador
DBGKD_SIMULATION_NONE Nenhuma simulação é usada.
DBGKD_SIMULATION_EXDI A simulação EXDI é usada.

Unused[1]

Não utilizado.

KernBase

Recebe o endereço base da imagem do kernel.

PsLoadedModuleList

Recebe o valor da variável de kernel PsLoadedModuleList.

DebuggerDataList

Recebe o valor da variável de kernel KdDebuggerDataBlock. Este é um ponteiro para uma estrutura KDDEBUGGER_DATA64 ou uma estrutura KDDEBUGGER_DATA32. Use a função GetDebuggerData para buscar essa estrutura.

Comentários

Os parâmetros para a operação ioctl IG_GET_KERNEL_VERSION são os membros da estrutura DBGKD_GET_VERSION64.

Essa operação só está disponível na depuração no modo kernel.

Requisitos

Requisito Valor
Cabeçalho wdbgexts.h (inclua Wdbgexts.h, Dbgeng.h)

Confira também

GetDebuggerData

Ioctl