PWINDBG_IOCTL_ROUTINE funzione di callback (wdbgexts.h)

La funzione PWINDBG_IOCTL_ROUTINE (Ioctl) esegue diverse operazioni. Gran parte della sua funzionalità riflette la funzionalità di altre funzioni in wdbgexts.h.

Sintassi

PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;

ULONG PwindbgIoctlRoutine(
  USHORT IoctlType,
  PVOID lpvData,
  ULONG cbSize
)
{...}

Parametri

IoctlType

Specifica l'operazione Ioctl da eseguire. Per un elenco dei possibili valori IoctlType , vedere la sezione "Osservazioni".

lpvData

Punta all'indirizzo di una struttura di dati. Il tipo di struttura richiesto dipende dal valore di IoctlType.

cbSize

Specifica le dimensioni della struttura a cui punta lpvData .

Valore restituito

Il significato del valore restituito dipende da IoctlType. Per il significato del valore restituito, vedere la pagina per l'operazione Ioctl corrispondente.

Commenti

La funzione Ioctl è il punto di ingresso per molte delle funzionalità fornite per le estensioni WdbgExts. Molte delle altre funzioni in wdbgexts.h sono semplicemente wrapper per le chiamate a Ioctl.

Nella tabella seguente sono elencati i possibili valori IoctlType . Se il IoctlType corrisponde a un'altra funzione, tale funzione viene fornita; in caso contrario, viene fornito un collegamento alla pagina che descrive l'operazione Ioctl .

Costante IoctlType Funzione equivalente Struttura lpData
IG_KD_CONTEXT

GetKdContext

IG_READ_CONTROL_SPACE

ReadControlSpace

ReadControlSpace64

IG_WRITE_CONTROL_SPACE WriteControlSpace
IG_READ_IO_SPACE

ReadIoSpace

ReadIoSpace64

IG_WRITE_IO_SPACE

WriteIoSpace

WriteIoSpace64

IG_READ_PHYSICAL

ReadPhysical

IG_WRITE_PHYSICAL

WritePhysical

IG_READ_IO_SPACE_EX

ReadIoSpaceEx

ReadIoSpaceEx64

IG_WRITE_IO_SPACE_EX

WriteIoSpaceEx

WriteIoSpaceEx64

IG_SET_THREAD

SetThreadForOperation

SetThreadForOperation64

IG_READ_MSR

ReadMsr

IG_WRITE_MSR

WriteMsr

IG_GET_DEBUGGER_DATA

GetDebuggerData

IG_GET_KERNEL_VERSION

DBGKD_GET_VERSION64

IG_RELOAD_SYMBOLS RicaricareSymbols
IG_GET_SET_SYMPATH

GetSetSympath

IG_GET_EXCEPTION_RECORD
IG_IS_PTR64 IsPtr64

IG_GET_BUS_DATA

GETSETBUSDATA

IG_SET_BUS_DATA

GETSETBUSDATA

IG_DUMP_SYMBOL_INFO

SYM_DUMP_PARAM

IG_LOWMEM_CHECK

Vedere la sezione Osservazioni.
IG_SEARCH_MEMORY SearchMemory
IG_GET_CURRENT_THREAD GetCurrentThreadAddr
IG_GET_CURRENT_PROCESS GetCurrentProcessAddr
IG_GET_TYPE_SIZE GetTypeSize
IG_GET_CURRENT_PROCESS_HANDLE GetCurrentProcessHandle
IG_GET_INPUT_LINE GetInputLine
IG_GET_EXPRESSION_EX GetExpressionEx
IG_TRANSLATE_VIRTUAL_TO_PHYSICAL TranslateVirtualToPhysical
IG_GET_CACHE_SIZE GetDebuggerCacheSize
IG_READ_PHYSICAL_WITH_FLAGS ReadPhysicalWithFlags
IG_WRITE_PHYSICAL_WITH_FLAGS WritePhysicalWithFlags

IG_POINTER_SEARCH_PHYSICAL

POINTER_SEARCH_PHYSICAL

IG_GET_THREAD_OS_INFO

WDBGEXTS_THREAD_OS_INFO

IG_GET_CLR_DATA_INTERFACE
IG_GET_TEB_ADDRESS GetTebAddress
IG_GET_PEB_ADDRESS GetPebAddress
 

L'operazione Ioctl IG_LOWMEM_CHECK cerca il danneggiamento della memoria nella memoria ridotta di 4 GB.

Questa operazione Ioctl non accetta parametri e i parametri lpvData e cbSizeOfContext devono essere impostati rispettivamente su NULL e zero.

Valore restituito

Se non è stata trovata alcuna memoria danneggiata, il valore restituito è TRUE; in caso contrario, è FALSE.

Questa operazione è disponibile solo nel debug in modalità kernel ed è utile solo quando il kernel è stato avviato usando l'opzione /nolowmem .

Quando il kernel viene avviato con l'opzione /nolowmem , il kernel, i driver, il sistema operativo e le applicazioni vengono caricati in memoria superiore a 4 GB, mentre i 4 GB di memoria bassi vengono riempiti con un modello univoco. L'operazione Ioctl IG_LOWMEM_CHECK verifica il danneggiamento di questo modello.

Può essere usato per verificare che un driver funzioni correttamente quando si usano indirizzi fisici superiori a 32 bit di lunghezza. Vedere Estensione indirizzo fisico (PAE),/pae e /nolowmem in Windows Driver Kit.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione wdbgexts.h (include Wdbgexts.h, Dbgeng.h)