InitializeContext 函式 (winbase.h)
使用必要的大小和對齊方式,初始化緩衝區內的 CONTEXT 結構。
語法
BOOL InitializeContext(
[out, optional] PVOID Buffer,
[in] DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength
);
參數
[out, optional] Buffer
要在其中初始化 CONTEXT 結構的緩衝區指標。 這個參數可以 NULL,以判斷保留具有指定之 contextFlags 之內容記錄所需的緩衝區大小。
[in] ContextFlags
值,指出應該初始化 Context 結構的哪些部分。 此參數會影響初始化 Context 結構的大小。
[out, optional] Context
變數的指標,這個變數會接收 Buffer內初始化 之 CONTEXT 結構的位址。
[in, out] ContextLength
在輸入上,以位元組為單位指定 Buffer所指向的緩衝區長度。 如果緩衝區不夠大,無法包含 CONTEXT的指定部分,則函式會失敗,GetLastError 會傳回 ERROR_INSUFFICIENT_BUFFER,且 ContextLength 會設定為所需的緩衝區大小。 如果函式失敗,但 ERROR_INSUFFICIENT_BUFFER以外的錯誤,則未定義 ContextLength 的內容。
傳回值
如果成功,此函式 會傳回 TRUE,否則 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
言論
InitializeContext 可用來初始化緩衝區內具有所需大小和對齊特性的 CONTEXT 結構。 如果指定 CONTEXT_XSTATEContextFlag,此例程是必要的,因為所需的內容大小和對齊方式可能會根據系統上啟用的處理器功能而變更。
首先,使用 ContextFlags 參數來呼叫此函式,並將其設定為您將使用的最大功能數目,並使用 Buffer 參數來 NULL。 函式會以位元組為單位傳回contextLength 參數
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 內容。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 7 SP1 [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2008 R2 SP1 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | winbase.h (包括 Windows.h) |
連結庫 | Kernel32.lib |
DLL | Kernel32.dll |