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

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 ReloadSymbols
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

請參閱<備註>。
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
 

IG_LOWMEM_CHECK Ioctl 作業會在低 4 GB 的記憶體中尋找記憶體損毀。

Ioctl 作業不會採用任何參數, 而且 lpvDatacbSizeOfContext 參數應該分別設定為 NULL 和零。

傳回值

如果找不到損毀的記憶體,則傳回值為 TRUE;否則為 FALSE

這項作業僅適用於內核模式偵錯,而且只有在核心是使用 /nolowmem 選項啟動時才有用。

當核心以 /nolowmem 選項啟動時,核心、驅動程式、操作系統和應用程式會以高於 4 GB 的記憶體載入,而低 4 GB 的記憶體會填入唯一模式。 IG_LOWMEM_CHECK Ioctl 作業會檢查此模式是否有損毀。

這可用來確認驅動程式在長度大於32位的實體位址時正常運作。 請參閱 Windows 驅動程式套件中的 實體位址延伸模組 (PAE) /pae/nolowmem

規格需求

需求
目標平台 桌面
標頭 wdbgexts.h (包含 Wdbgexts.h、Dbgeng.h)