다음을 통해 공유


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_XSTATECONTEXT_FULL 또는 CONTEXT_ALL속하지 않습니다. XState 컨텍스트가 필요한 경우 별도로 지정해야 합니다.
 

[out, optional] Context

Buffer내에서 초기화된 CONTEXT 구조체의 주소를 받는 변수에 대한 포인터입니다.

참고CONTEXT 구조의 맞춤 요구 사항으로 인해 Context 반환된 값이 제공된 버퍼의 시작 부분에 있지 않을 수 있습니다.
 

[in, out] ContextLength

입력에서 Buffer가리키는 버퍼의 길이를 바이트 단위로 지정합니다. 버퍼가 CONTEXT지정된 부분을 포함할 만큼 크지 않으면 함수가 실패하고 GetLastError ERROR_INSUFFICIENT_BUFFER반환하고 ContextLength 버퍼의 필요한 크기로 설정됩니다. ERROR_INSUFFICIENT_BUFFER이외의 오류로 함수가 실패하면 ContextLength 내용이 정의되지 않습니다.

XStateCompactionMask

컨텍스트 구조를 할당할 때 사용할 XState 압축 마스크를 제공합니다. 이 매개 변수는 CONTEXT_XSTATEContextFlags 제공되고 시스템에서 압축 모드에서 XState를 사용하도록 설정된 경우에만 사용됩니다.

반환 값

이 함수는 성공하면 TRUE 반환하고, 그렇지 않으면 FALSE. 확장 오류 정보를 얻으려면 GetLastError호출합니다.

발언

InitializeContext 사용하여 필요한 크기와 맞춤 특성을 가진 버퍼 내에서 CONTEXT 구조를 초기화할 수 있습니다. 시스템에서 사용하도록 설정된 프로세서 기능에 따라 필요한 컨텍스트 크기와 맞춤이 변경될 수 있으므로 CONTEXT_XSTATEContextFlag 지정하는 경우 이 루틴이 필요합니다.

먼저 사용할 최대 기능 수로 설정된 ContextFlags 매개 변수와 NULLBuffer 매개 변수를 사용하여 이 함수를 호출합니다. 이 함수는 ContextLength 매개 변수에서 필요한 버퍼 크기를 바이트 단위로 반환합니다. Buffer 데이터에 충분한 공간을 할당하고 함수를 다시 호출하여 컨텍스트초기화합니다. 이 루틴이 성공적으로 완료되면 Context 구조체의 ContextFlags 멤버가 초기화되지만 나머지 구조체 내용은 정의되지 않습니다. ContextFlags 매개 변수에 지정된 일부 비트는 Context설정되지 않을 수 있습니다.>ContextFlags는 시스템에서 지원되지 않는 경우. 애플리케이션은 이후에 CONTEXTContextFlags 멤버에서 비트를 제거하지만 추가해서는 안 됩니다.

SP1이 있는 Windows 7 및 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
헤더 winbase.h

참고 항목

컨텍스트

copyContext

intel AVX

XState 컨텍스트 사용하는