XSTATE 압축 마스크를 지정하는 옵션을 사용하여 필요한 크기와 맞춤을 사용하여 버퍼 내에서 CONTEXT 구조를 초기화합니다.
통사론
BOOL InitializeContext2(
[out, optional] PVOID Buffer,
DWORD ContextFlags,
[out, optional] PCONTEXT *Context,
[in, out] PDWORD ContextLength,
ULONG64 XStateCompactionMask
);
매개 변수
[out, optional] Buffer
CONTEXT 구조를 초기화할 버퍼에 대한 포인터입니다. 이 매개 변수는 지정된 ContextFlags를 사용하여 컨텍스트 레코드를 보유하는 데 필요한 버퍼 크기를 결정하는 NULL일 수 있습니다.
ContextFlags
컨텍스트 구조를 초기화해야 하는 부분을 나타내는 값입니다. 이 매개 변수는 초기화된 컨텍스트 구조의 크기에 영향을 줍니다.
[out, optional] Context
버퍼 내에서 초기화된 CONTEXT 구조의 주소를 받는 변수에 대한 포인터입니다.
[in, out] ContextLength
입력에서 버퍼가 가리키는 버퍼의 길이(바이트)를 지정합니다. 버퍼가 CONTEXT의 지정된 부분을 포함할 만큼 크지 않으면 함수가 실패하고 GetLastError 가 ERROR_INSUFFICIENT_BUFFER 반환하고 ContextLength 가 버퍼의 필요한 크기로 설정됩니다. ERROR_INSUFFICIENT_BUFFER 이외의 오류로 함수가 실패하면 ContextLength의 내용이 정의되지 않습니다.
XStateCompactionMask
컨텍스트 구조를 할당할 때 사용할 XState 압축 마스크를 제공합니다. 이 매개 변수는 CONTEXT_XSTATEContextFlags 에 제공되고 시스템에서 압축 모드에서 XState를 사용하도록 설정된 경우에만 사용됩니다.
반환 값
이 함수는 성공하면 TRUE 를 반환하고, 그렇지 않으면 FALSE를 반환 합니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
InitializeContext 를 사용하여 필요한 크기 및 맞춤 특성을 사용하여 버퍼 내에서 CONTEXT 구조를 초기화할 수 있습니다. 시스템에서 사용하도록 설정된 프로세서 기능에 따라 필요한 컨텍스트 크기와 맞춤이 변경될 수 있으므로 CONTEXT_XSTATEContextFlag 를 지정하는 경우 이 루틴이 필요합니다.
먼저 사용할 최대 기능 수로 설정된 ContextFlags 매개 변수와 NULL에 대한 Buffer 매개 변수를 사용하여 이 함수를 호출합니다. 이 함수는 ContextLength 매개 변수에서 필요한 버퍼 크기를 바이트 단위로 반환합니다. 버퍼의 데이터에 충분한 공간을 할당하고 함수를 다시 호출하여 컨텍스트를 초기화합니다. 이 루틴이 성공적으로 완료되면 Context 구조의 ContextFlags 멤버가 초기화되지만 구조체의 나머지 내용은 정의되지 않습니다. ContextFlags 매개 변수에 지정된 일부 비트는 시스템에서 지원되지 않는 경우 Context-ContextFlags> 에서 설정되지 않을 수 있습니다. 애플리케이션은 이후에 CONTEXT의 ContextFlags 멤버에서 비트를 제거하지만 추가해서는 안 됩니다.
WINDOWS 7 SP1 및 Windows Server 2008 R2 SP1 사용: AVX API는 SP1이 있는 Windows 7 및 WINDOWS Server 2008 R2 SP1에서 처음 구현됩니다. SP1에 대한 SDK가 없으므로 사용할 수 있는 헤더 및 라이브러리 파일이 없습니다. 이 경우 호출자는 이 설명서에서 필요한 함수를 선언하고 "Kernel32.dll"에서 GetModuleHandle 을 사용하여 해당 함수에 대한 포인터를 가져와야 하며, 그 다음에 GetProcAddress를 호출해야 합니다. 자세한 내용은 XState 컨텍스트 작업을 참조하세요.
압축 모드에서 XState를 사용하는 경우 활성화된 XState 구성 요소의 하위 집합만 포함하는 XStateCompactionMask 를 지정하면 컨텍스트를 저장하는 데 필요한 버퍼 크기를 줄일 수 있습니다. 이는 시스템에 많은 XState 구성 요소가 활성화되어 있지만 컨텍스트 는 소수의 XState 구성 요소에만 영향을 미치는 데만 사용되는 경우에 특히 유용합니다. GetEnabledXStateFeatures를 호출하여 활성화된 XState 구성 요소의 전체 집합을 가져올 수 있습니다. 이 함수는 지정된 XState 압축 마스크를 XState 헤더의 관련 위치에 복사합니다.
요구 사항
| 요구 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 10 빌드 20348 |
| 지원되는 최소 서버 | Windows 10 빌드 20348 |
| Header | winbase.h |
| Library | kernel32. Lib |