次の方法で共有


ICorDebugStackWalk::SetContext メソッド

ICorDebugStackWalk オブジェクトの現在のコンテキストを、スレッドの有効なコンテキストに設定します。

HRESULT SetContext([in] CorDebugSetContextFlag flag,
                   [in] ULONG32 contextSize,
                   [in, size_is(contextSize)] BYTE context[]);

パラメーター

  • flag
    [入力] コンテキストがスタック上のアクティブなフレームからのものであるか、スタックをアンワインドして取得されたコンテキストであるかを示す CorDebugSetContextFlag フラグ。

  • contextSize
    [入力] CONTEXT バッファーの割り当てられているサイズ。

  • context
    [入力] CONTEXT バッファー。

戻り値

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

HRESULT

説明

S_OK

ICorDebugStackWalk オブジェクトのコンテキストは正常に設定されました。

E_FAIL

ICorDebugStackWalk オブジェクトのコンテキストは設定されませんでした。

E_INVALIDARG

コンテキストが null です。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

コンテキスト バッファーは小さすぎます。

解説

このメソッドは、スレッドの現在のコンテキストを変更しません。

現在のコンテキストを無効なコンテキストに設定すると、スタック ウォーカーにより予期しない結果を引き起こす場合があります。

直後に ICorDebugStackWalk::GetContext メソッドを呼び出すと、このコンテキストのビット単位の正確なコピーを取得できます。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

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

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4

参照

その他の技術情報

デバッグのインターフェイス

デバッグ (アンマネージ API リファレンス)