Share via


尋找XStateFeature 函式 (winbase.h)

擷取 CONTEXT 結構內 XState 功能的處理器狀態指標。

XState 功能位的定義是處理器廠商特定的。 如需特定功能的其他資訊,請參閱相關的處理器參考手冊。

語法

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

參數

[in] Context

CONTEXT 結構的指標,其中包含要擷取或設定的狀態。 此 CONTEXT 應該已使用 InitializeContext 初始化,並在 ContextFlags 參數中設定CONTEXT_XSTATE旗標。

[in] FeatureId

CONTEXT 結構中尋找的功能數目。

[out, optional] Length

變數的指標,可接收以位元組為單位的功能區域長度。 如果此函式傳回 NULL,則未定義此變數的內容。

傳回值

如果系統支援指定的功能,且指定的 CONTEXT 結構已使用 CONTEXT_XSTATE 旗標初始化,則此函式會傳回指定功能功能區域的指標。 此區域的內容和配置是處理器特定的。

如果未在 CONTEXT 結構中設定CONTEXT_XSTATE旗標,或系統不支援 FeatureID,則傳回值為 NULL。 沒有其他錯誤資訊可供使用。

備註

FindXStateFeature 函式必須用來尋找可延伸 CONTEXT 結構內的個別 XState 功能。 在記憶體中,功能不一定連續,而且應用程式不應該假設兩個連續功能之間的位移在未來會維持不變。

函式的 FeatureID 參數會對應至功能遮罩內的位。 例如,FeatureId 2 對應於 SetXStateFeaturesMask 中 4 的 FeatureMaskFeatureID 值為 0 和 1 分別對應至 X87 FPU 狀態和 SSE 狀態。

如果您要透過 SetThreadContextWow64SetThreadContext 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)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

上下文

Intel AVX

SetThreadContext

SetXStateFeaturesMask

使用 XState 內容

Wow64SetThreadContext