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 操作はパラメーターを受け取らず、 lpvData パラメーターと cbSizeOfContext パラメーターをそれぞれ NULL と 0 に設定する必要があります。

戻り値

破損したメモリが見つからなかった場合、戻り値は TRUE です。それ以外の場合は FALSE です

この操作はカーネル モード デバッグでのみ使用でき、 /nolowmem オプションを使用してカーネルが開始された場合にのみ役立ちます。

/nolowmem オプションを使用してカーネルを起動すると、カーネル、ドライバー、オペレーティング システム、アプリケーションが 4 GB を超えるメモリに読み込まれますが、メモリの低い 4 GB は一意のパターンで満たされます。 IG_LOWMEM_CHECK Ioctl 操作では、このパターンが破損しているかどうかがチェックされます。

これは、長さが 32 ビットを超える物理アドレスを使用している場合にドライバーが正しく動作することを確認するために使用できます。 Windows ドライバー キットの 物理アドレス拡張機能 (PAE)/pae、および /nolowmem を参照してください。

要件

要件
対象プラットフォーム デスクトップ
Header wdbgexts.h (Wdbgexts.h、Dbgeng.h を含む)