次の方法で共有


ICorDebugThread3::GetActiveInternalFrames メソッド

スタック上の内部フレーム (ICorDebugInternalFrame2 オブジェクト) の配列を返します。

構文

HRESULT GetActiveInternalFrames
      (
      [in] ULONG32 cInternalFrames,
      [out] ULONG32 *pcInternalFrames,
      [in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
            ICorDebugInternalFrame2 * ppInternalFrames[]
      );

パラメーター

cInternalFrames [in] ppInternalFramesで想定される内部フレームの数。

pcInternalFrames [out]スタック上の内部フレームの数を含む ULONG32 へのポインター。

ppInternalFrames [入力、出力]スタック上の内部フレームの配列のアドレスへのポインター。

戻り値

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。

HRESULT 説明
S_OK ICorDebugInternalFrame2 オブジェクトは正常に作成されました。
E_INVALIDARG cInternalFrames が 0 ではなく ppInternalFramesnull であるか、または pcInternalFramesnull です。
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) ppInternalFrames が内部フレームの数より小さくなっています。

例外

解説

内部フレームは、一時データを格納するためにランタイムによってスタックにプッシュされるデータ構造です。

GetActiveInternalFrames を初めて呼び出すときは、cInternalFrames パラメーターを 0 (ゼロ) に、ppInternalFrames パラメーターを null に設定する必要があります。 最初に GetActiveInternalFrames が返されるときに、pcInternalFrames はスタック上の内部フレームの数を格納します。

その後、GetActiveInternalFrames をもう一度呼び出す必要があります。 cInternalFrames パラメーターに適切なカウント (pcInternalFrames) を渡し、ppInternalFrames で適切にサイズ設定された配列へのポインターを指定する必要があり ます。

実際のスタック フレームを返すには、ICorDebugStackWalk::GetFrame メソッドを使用します。

必要条件

:システム要件」を参照してください。

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4 以降で使用可能

関連項目