struttura DBGKD_GET_VERSION64 (wdbgexts.h)

L'operazione Ioctl IG_GET_KERNEL_VERSION riceve informazioni correlate alla versione del sistema operativo della destinazione. Quando si chiama Ioctl con IoctlType impostato su IG_GET_KERNEL_VERSION, IpvData deve contenere un'istanza della struttura DBGKD_GET_VERSION64.

Sintassi

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;

Members

MajorVersion

Riceve 0xF se il sistema operativo della destinazione è una compilazione gratuita e 0xC se si tratta di una compilazione controllata.

MinorVersion

Riceve il numero di build per il sistema operativo della destinazione.

ProtocolVersion

Riceve la versione del protocollo del debugger utilizzata per comunicare tra il debugger e la destinazione.

KdSecondaryVersion

Riceve un numero di versione secondario utilizzato per distinguere tra i contesti meno recenti e deprecati.

Flags

Riceve un set di flag di bit per la sessione di debug corrente. I flag seguenti possono essere presenti.

Contrassegno Significato quando impostato
DBGKD_VERS_FLAG_MP Il kernel di destinazione è stato compilato con il supporto per più processori.
DBGKD_VERS_FLAG_DATA L'elenco DebuggerDataList è valido.
DBGKD_VERS_FLAG_PTR64 La destinazione usa puntatori a 64 bit.
DBGKD_VERS_FLAG_NOMM La cache di memoria del debugger è attiva. Se questa impostazione non è impostata, il debugger convertirà tutti gli indirizzi virtuali in un indirizzo fisico prima di accedere alla memoria della destinazione.
DBGKD_VERS_FLAG_HSS La destinazione supporta l'esecuzione di istruzioni hardware.
DBGKD_VERS_FLAG_PARTITIONS Esistono più partizioni del sistema operativo.

MachineType

Riceve il tipo del processore di destinazione. Nella tabella seguente sono elencati i tipi di processore possibili.

Valore Processore
IMAGE_FILE_MACHINE_I386 Architettura x86
IMAGE_FILE_MACHINE_ARM Architettura arm
IMAGE_FILE_MACHINE_IA64 Architettura intel Itanium
IMAGE_FILE_MACHINE_AMD64 Architettura x64
IMAGE_FILE_MACHINE_EBC Architettura del codice di byte EFI

MaxPacketType

Riceve un più il numero più alto per un tipo di pacchetto del debugger riconosciuto dalla destinazione.

MaxStateChange

Riceve uno più il numero più alto per una modifica dello stato generata dalla destinazione.

MaxManipulate

Riceve un altro numero che il numero più alto, riconosciuto dalla destinazione, per consentire a un comando di modificare la destinazione.

Simulation

Riceve un'indicazione se la destinazione è in esecuzione simulata. I valori possibili sono elencati nella tabella seguente.

Valore Processore
DBGKD_SIMULATION_NONE Non viene usata alcuna simulazione.
DBGKD_SIMULATION_EXDI Viene usata la simulazione EXDI.

Unused[1]

Non utilizzato.

KernBase

Riceve l'indirizzo di base dell'immagine del kernel.

PsLoadedModuleList

Riceve il valore della variabile kernel PsLoadedModuleList.

DebuggerDataList

Riceve il valore della variabile kernel KdDebuggerDataBlock. Puntatore a una struttura KDDEBUGGER_DATA64 o a una struttura KDDEBUGGER_DATA32. Usare la funzione GetDebuggerData per recuperare questa struttura.

Commenti

I parametri per l'operazione Ioctl IG_GET_KERNEL_VERSION sono i membri della struttura DBGKD_GET_VERSION64.

Questa operazione è disponibile solo nel debug in modalità kernel.

Requisiti

Requisito Valore
Intestazione wdbgexts.h (include Wdbgexts.h, Dbgeng.h)

Vedi anche

GetDebuggerData

Ioctl