KDHELP 構造体 (dbghelp.h)
スレッドのカーネル スタック内のユーザー モード コールバックをトレースするためにカーネル デバッガーによって使用される情報。
構文
typedef struct _KDHELP {
DWORD Thread;
DWORD ThCallbackStack;
DWORD NextCallback;
DWORD FramePointer;
DWORD KiCallUserMode;
DWORD KeUserCallbackDispatcher;
DWORD SystemRangeStart;
DWORD ThCallbackBStore;
DWORD KiUserExceptionDispatcher;
DWORD StackBase;
DWORD StackLimit;
DWORD Reserved[5];
} KDHELP, *PKDHELP;
メンバー
Thread
WAIT_STATE_CHANGE パケットに指定されているカーネル スレッド オブジェクトのアドレス。
ThCallbackStack
カーネル スタック内の現在のコールバック フレームへのポインターへのスレッド オブジェクト内のオフセット。
NextCallback
次のコールバック フレームのアドレス。
FramePointer
保存されたフレーム ポインターのアドレス (該当する場合)。
KiCallUserMode
ユーザー モードを呼び出すカーネル関数のアドレス。
KeUserCallbackDispatcher
ユーザー モード ディスパッチャー関数のアドレス。
SystemRangeStart
カーネル モードの最も低いアドレス。
ThCallbackBStore
Intel Itanium: カーネル スタック内の現在のコールバック バッキング ストア フレームへのポインターへのスレッド オブジェクト内のオフセット。
KiUserExceptionDispatcher
ユーザー モード例外ディスパッチャー関数のアドレス。
DbgHelp 6.1 以前: このメンバーはサポートされていません。
StackBase
スタック ベースのアドレス。
StackLimit
スタックの制限。
Reserved[5]
このメンバーは、オペレーティング システムで使用するために予約されています。
注釈
この構造体は KDHELP 構造体よりも優先されます。 詳細については、「 プラットフォーム サポートの更新」を参照してください。 KDHELP は、Dbghelp.h で次のように定義されています。
#if !defined(_IMAGEHLP_SOURCE_) && defined(_IMAGEHLP64)
#define KDHELP KDHELP64
#define PKDHELP PKDHELP64
#else
typedef struct _KDHELP {
DWORD Thread;
DWORD ThCallbackStack;
DWORD NextCallback;
DWORD FramePointer;
DWORD KiCallUserMode;
DWORD KeUserCallbackDispatcher;
DWORD SystemRangeStart;
DWORD ThCallbackBStore;
DWORD KiUserExceptionDispatcher;
DWORD StackBase;
DWORD StackLimit;
DWORD Reserved[5];
} KDHELP, *PKDHELP;
#endif
要件
要件 | 値 |
---|---|
Header | dbghelp.h |
再頒布可能パッケージ | DbgHelp.dll 5.1 以降 |