PWINDBG_IOCTL_ROUTINE funzione di callback (wdbgexts.h)
La funzione PWINDBG_IOCTL_ROUTINE (Ioctl) esegue un'ampia gamma di operazioni diverse. Gran parte delle sue funzionalità rispecchia la funzionalità di altre funzioni in wdbgexts.h.
Sintassi
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
Parametri
IoctlType
Specifica quale 'operazione di 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. Vedere la pagina relativa all'operazione di Ioctl corrispondente per il significato del valore restituito.
Osservazioni
La funzione Ioctl è il punto di ingresso per molte delle funzionalità fornite per le estensioni WdbgExts. Molte 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 di Ioctl.
costante IoctlType | Funzione equivalente | Struttura lpData |
---|---|---|
IG_KD_CONTEXT | ||
IG_READ_CONTROL_SPACE |
ReadControlSpace64 |
|
IG_WRITE_CONTROL_SPACE | WriteControlSpace | |
IG_READ_IO_SPACE |
ReadIoSpace64 |
|
IG_WRITE_IO_SPACE |
WriteIoSpace64 |
|
IG_READ_PHYSICAL | ||
IG_WRITE_PHYSICAL | ||
IG_READ_IO_SPACE_EX |
ReadIoSpaceEx64 |
|
IG_WRITE_IO_SPACE_EX |
WriteIoSpaceEx64 |
|
IG_SET_THREAD |
setThreadForOperation64 |
|
IG_READ_MSR | ||
IG_WRITE_MSR | ||
IG_GET_DEBUGGER_DATA | ||
IG_GET_KERNEL_VERSION |
||
IG_RELOAD_SYMBOLS | ricaricare Imbols | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
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 |
||
IG_GET_THREAD_OS_INFO |
||
IG_GET_CLR_DATA_INTERFACE | ||
IG_GET_TEB_ADDRESS | GetTebAddress | |
IG_GET_PEB_ADDRESS | GetPebAddress |
L'operazione di Ioctl IG_LOWMEM_CHECK cerca il danneggiamento della memoria nella memoria insufficiente di 4 GB.
Questa operazione Ioctl non accetta parametri e i parametri lpvData e cbSizeOfContext parametri 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 di /nolowmem, il kernel, i driver, il sistema operativo e le applicazioni vengono caricati in memoria superiore a 4 GB, mentre il basso 4 GB di memoria viene riempito con un modello univoco. L'operazione di 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 PAE (Physical Address Extension), /paee /nolowmem in Windows Driver Kit.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | wdbgexts.h (include Wdbgexts.h, Dbgeng.h) |