PWINDBG_IOCTL_ROUTINE回呼函式 (wdbgexts.h)
PWINDBG_IOCTL_ROUTINE (Ioctl) 函式會執行各種不同的作業。 其大部分功能都反映 wdbgexts.h 中其他函式的功能。
語法
PWINDBG_IOCTL_ROUTINE PwindbgIoctlRoutine;
ULONG PwindbgIoctlRoutine(
USHORT IoctlType,
PVOID lpvData,
ULONG cbSize
)
{...}
參數
IoctlType
指定要執行的 Ioctl 作業。 如需可能的 IoctlType 值清單,請參閱一節。
lpvData
指向數據結構的位址。 所需的結構類型取決於 IoctlType的值。
cbSize
指定 lpvData 指向的結構大小。
傳回值
傳回值的意義取決於 IoctlType。 如需傳回值的意義,請參閱對應 Ioctl 作業的頁面。
備註
Ioctl 函式是 WdbgExts 擴充功能所提供之許多功能的進入點。 wdbgexts.h 中的許多其他函式只是 Ioctl 呼叫的包裝函式。
下表列出可能的 IoctlType 值。 如果 IoctlType 對應至另一個函式,則會提供該函式;否則,會提供描述 Ioctl 作業的頁面連結。
IoctlType 常數 | 對等函式 | 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 | ReloadSymbols | |
IG_GET_SET_SYMPATH | ||
IG_GET_EXCEPTION_RECORD | ||
IG_IS_PTR64 | IsPtr64 | |
IG_GET_BUS_DATA |
||
IG_SET_BUS_DATA |
||
IG_LOWMEM_CHECK |
請參閱<備註>。 | |
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 |
IG_LOWMEM_CHECK Ioctl 作業會在低 4 GB 的記憶體中尋找記憶體損毀。
此 Ioctl 作業不會採用任何參數, 而且 lpvData 和 cbSizeOfContext 參數應該分別設定為 NULL 和零。
傳回值
如果找不到損毀的記憶體,則傳回值為 TRUE;否則為 FALSE。這項作業僅適用於內核模式偵錯,而且只有在核心是使用 /nolowmem 選項啟動時才有用。
當核心以 /nolowmem 選項啟動時,核心、驅動程式、操作系統和應用程式會以高於 4 GB 的記憶體載入,而低 4 GB 的記憶體會填入唯一模式。 IG_LOWMEM_CHECK Ioctl 作業會檢查此模式是否有損毀。
這可用來確認驅動程式在長度大於32位的實體位址時正常運作。 請參閱 Windows 驅動程式套件中的 實體位址延伸模組 (PAE) 、 /pae 和 /nolowmem 。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | wdbgexts.h (包含 Wdbgexts.h、Dbgeng.h) |