共用方式為


InitializeContext2 函式 (winbase.h)

使用指定 XSTATE 壓縮遮罩的選項,初始化緩衝區內的 CONTEXT 結構。

語法

BOOL InitializeContext2(
  [out, optional] PVOID    Buffer,
                  DWORD    ContextFlags,
  [out, optional] PCONTEXT *Context,
  [in, out]       PDWORD   ContextLength,
                  ULONG64  XStateCompactionMask
);

參數

[out, optional] Buffer

要在其中初始化 CONTEXT 結構的緩衝區指標。 這個參數可以 NULL,以判斷保留具有指定之 contextFlags 之內容記錄所需的緩衝區大小。

ContextFlags

值,指出應該初始化 Context 結構的哪些部分。 此參數會影響初始化 Context 結構的大小。

附註CONTEXT_XSTATE 不屬於 CONTEXT_FULLCONTEXT_ALL。 如果需要 XState 內容,則必須另外指定它。
 

[out, optional] Context

變數的指標,這個變數會接收 Buffer內初始化 之 CONTEXT 結構的位址。

附註 由於 CONTEXT 結構的對齊需求,Context 中所傳回的值可能不在提供的緩衝區開頭。
 

[in, out] ContextLength

在輸入上,以位元組為單位指定 Buffer所指向的緩衝區長度。 如果緩衝區不夠大,無法包含 CONTEXT的指定部分,則函式會失敗,GetLastError 會傳回 ERROR_INSUFFICIENT_BUFFER,且 ContextLength 會設定為所需的緩衝區大小。 如果函式失敗,但 ERROR_INSUFFICIENT_BUFFER以外的錯誤,則未定義 ContextLength 的內容。

XStateCompactionMask

提供配置 Context 結構時要使用的 XState 壓縮遮罩。 只有在提供 CONTEXT_XSTATEContextFlags,且系統已在壓縮模式中啟用 XState 時,才會使用此參數。

傳回值

如果成功,此函式 會傳回 TRUE,否則 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

言論

InitializeContext 可用來初始化緩衝區內具有所需大小和對齊特性的 CONTEXT 結構。 如果指定 CONTEXT_XSTATEContextFlag,此例程是必要的,因為所需的內容大小和對齊方式可能會根據系統上啟用的處理器功能而變更。

首先,使用 ContextFlags 參數來呼叫此函式,並將其設定為您將使用的最大功能數目,並使用 Buffer 參數來 NULL。 函式會以位元組為單位傳回contextLength 參數 所需的緩衝區大小。 設定足夠的空間給 緩衝區中的數據,然後再次呼叫 函式,以初始化 Context。 成功完成此例程時,ContextFlagsContext 結構的成員會初始化,但結構的其餘內容未定義。 ContextFlags 參數中指定的某些位可能不會 在 context中設定 - 如果系統不支援,>ContextFlags。 應用程式後續可能會移除,但絕對不能從 ContextFlagsCONTEXT的成員新增位。

Windows 7 SP1 和 Windows Server 2008 R2 SP1:AVX API 會先在 Windows 7 上實作 SP1 和 Windows Server 2008 R2 SP1 。 由於沒有適用於SP1的SDK,這表示沒有可用的標頭和連結庫檔案可供使用。 在此情況下,呼叫端必須從本檔宣告所需的函式,並使用 GetModuleHandle on “Kernel32.dll”,接著 呼叫 getProcAddress。 如需詳細資訊,請參閱 使用 XState 內容

在壓縮模式中啟用 XState 時,指定 XStateCompactionMask 只包含已啟用 XState 元件的子集,可以減少儲存 Context所需的緩衝區大小。 如果系統已啟用許多 XState 元件,但這特別有用,但 Context 只會用來影響少數 XState 元件。 呼叫 getEnabledXStateFeatures ,即可取得已啟用 XState 元件的完整集合。 此函式會將指定的 XState 壓縮遮罩複製到 XState 標頭中的相關位置。

要求

要求 價值
最低支援的用戶端 Windows 10 組建 20348
支援的最低伺服器 Windows 10 組建 20348
標頭 winbase.h

另請參閱

CONTEXT

CopyContext

Intel AVX

使用 XState 內容