Share via


SetThreadContext 関数 (processthreadsapi.h)

指定したスレッドのコンテキストを設定します。

64 ビット アプリケーションでは、 Wow64SetThreadContext 関数を使用して WOW64 スレッドのコンテキストを設定できます。

構文

BOOL SetThreadContext(
  [in] HANDLE        hThread,
  [in] const CONTEXT *lpContext
);

パラメーター

[in] hThread

コンテキストが設定されるスレッドへのハンドル。 ハンドルには、スレッドへの THREAD_SET_CONTEXT アクセス権が必要です。 詳細については、「 スレッド セキュリティとアクセス権」を参照してください。

[in] lpContext

指定したスレッドで設定するコンテキストを含む CONTEXT 構造体へのポインター。 この構造体の ContextFlags メンバーの値は、スレッドのコンテキストのどの部分を設定するかを指定します。 指定できない CONTEXT 構造体の一部の値は、正しい値に自動的に設定されます。 これには、特権プロセッサ モードを指定する CPU 状態レジスタ内のビット、デバッグ レジスタ内のグローバル有効化ビット、およびオペレーティング システムによって制御される必要があるその他の状態が含まれます。

戻り値

コンテキストが設定されている場合、戻り値は 0 以外です。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

関数は、コンテキスト構造の ContextFlags メンバーの値に基づいてスレッド コンテキストを設定します。 通常、hThread パラメーターで識別されるスレッドはデバッグ中ですが、スレッドがデバッグされていない場合でも関数を動作させることができます。

実行中のスレッドのコンテキストを設定しないでください。結果は予測できません。 SuspendThread 関数を使用して、SetThreadContext を呼び出す前にスレッドを中断します。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー processthreadsapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CONTEXT

デバッグ関数

GetThreadContext

GetXStateFeaturesMask

SetXStateFeaturesMask

SuspendThread