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) |