Condividi tramite


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

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