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 以降

こちらもご覧ください

STACKFRAME64