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 구조를 초기화할 버퍼에 대한 포인터입니다. 이 매개 변수는 지정된 ContextFlags를 사용하여 컨텍스트 레코드를 보유하는 데 필요한 버퍼 크기를 결정하는 NULL일 수 있습니다.

[in] ContextFlags

컨텍스트 구조체를 초기화해야 하는 부분을 나타내는 값입니다. 이 매개 변수는 초기화된 컨텍스트 구조의 크기에 영향을 줍니다.

CONTEXT_XSTATECONTEXT_FULL 또는 CONTEXT_ALL 일부가 아닙니다. XState 컨텍스트가 필요한 경우 별도로 지정해야 합니다.
 

[out, optional] Context

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

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

[in, out] ContextLength

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

반환 값

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

설명

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

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

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 컨텍스트 작업을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 WINDOWS 7 SP1 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 SP1 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

CONTEXT

CopyContext

Intel AVX

XState 컨텍스트 작업