次の方法で共有


LocateXStateFeature 関数 (winbase.h)

CONTEXT 構造体内の XState 機能のプロセッサ状態へのポインターを取得します。

XState 機能ビットの定義は、プロセッサ ベンダー固有です。 特定の機能に関する追加情報については、関連するプロセッサリファレンスマニュアルを参照してください。

構文

PVOID LocateXStateFeature(
  [in]            PCONTEXT Context,
  [in]            DWORD    FeatureId,
  [out, optional] PDWORD   Length
);

パラメーター

[in] Context

取得または設定する状態を含む CONTEXT 構造体へのポインター。 この CONTEXT は、ContextFlags パラメーターに設定されたCONTEXT_XSTATE フラグを使用して InitializeContext で初期化されている必要があります。

[in] FeatureId

CONTEXT 構造体内で検索するフィーチャーの番号。

[out, optional] Length

特徴領域の長さをバイト単位で受け取る変数へのポインター。 この関数が NULL を返す場合、この変数の内容は未定義です。

戻り値

指定した機能がシステムでサポートされており、指定した CONTEXT 構造体が CONTEXT_XSTATE フラグを使用して初期化されている場合、この関数は、指定された機能の特徴領域へのポインターを返します。 この領域の内容とレイアウトはプロセッサ固有です。

CONTEXT_XSTATE フラグが CONTEXT 構造体で設定されていない場合、または FeatureID がシステムでサポートされていない場合、戻り値は NULL になります。 追加のエラー情報は使用できません。

注釈

LocateXStateFeature 関数を使用して、拡張可能な CONTEXT 構造体内の個々の XState 機能を検索する必要があります。 機能は必ずしもメモリ内で連続しているとは限りません。アプリケーションでは、2 つの連続する機能間のオフセットが将来も一定であると想定しないでください。

関数の FeatureID パラメーターは、機能マスク内のビットに対応します。 たとえば、FeatureId 2 は、SetXStateFeaturesMaskFeatureMask の 4 に対応します。 0 と 1 の FeatureID 値は、それぞれ X87 FPU 状態と SSE 状態に対応します。

SetThreadContext または Wow64SetThreadContext API を使用してスレッドに XState を設定する場合は、埋め込み機能のマスク値を使用して CONTEXT 構造体の SetXStateFeaturesMask を呼び出して、機能をアクティブとしてマークする必要もあります。

Windows 7 SP1 と Windows Server 2008 R2 SP1: AVX API は、WINDOWS 7 SP1 と Windows Server 2008 R2 SP1 で最初に実装されます。 SP1 用の SDK がないため、使用できるヘッダーとライブラリ ファイルはありません。 このような場合、呼び出し元は、このドキュメントから必要な関数を宣言し、"Kernel32.dll" で GetModuleHandle を使用してポインターを取得し、続いて GetProcAddress を呼び出す必要があります。 詳細については、「 XState コンテキストの操作 」を参照してください。

要件

要件
サポートされている最小のクライアント WINDOWS 7 SP1 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 SP1 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

CONTEXT

Intel AVX

SetThreadContext

SetXStateFeaturesMask

XState コンテキストの操作

Wow64SetThreadContext