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