다음을 통해 공유


LocateXStateFeature 함수(winbase.h)

CONTEXT 구조체 내에서 XState 기능의 프로세서 상태에 대한 포인터를 검색합니다.

XState 기능 비트의 정의는 프로세서 공급업체별로 다릅니다. 특정 기능에 대한 자세한 내용은 관련 프로세서 참조 설명서를 참조하세요.

구문

PVOID LocateXStateFeature(
  [in]            PCONTEXT Context,
  [in]            DWORD    FeatureId,
  [out, optional] PDWORD   Length
);

매개 변수

[in] Context

검색하거나 설정할 상태를 포함하는 CONTEXT 구조체에 대한 포인터입니다. 이 컨텍스트ContextFlags 매개 변수에 설정된 CONTEXT_XSTATE 플래그를 사용하여 InitializeContext를 사용하여 초기화되어야 합니다.

[in] FeatureId

CONTEXT 구조 내에서 찾을 기능의 수입니다.

[out, optional] Length

기능 영역의 길이를 바이트 단위로 받는 변수에 대한 포인터입니다. 이 함수가 NULL을 반환하는 경우 이 변수의 내용은 정의되지 않습니다.

반환 값

지정된 기능이 시스템에서 지원되고 지정된 CONTEXT 구조가 CONTEXT_XSTATE 플래그로 초기화된 경우 이 함수는 지정된 기능에 대한 기능 영역에 대한 포인터를 반환합니다. 이 영역의 내용과 레이아웃은 프로세서별로 다릅니다.

CONTEXT_XSTATE 플래그가 CONTEXT 구조에서 설정되지 않았거나 시스템에서 FeatureID를 지원하지 않는 경우 반환 값은 NULL입니다. 추가 오류 정보를 사용할 수 없습니다.

설명

LocateXStateFeature 함수는 확장 가능한 CONTEXT 구조 내에서 개별 XState 기능을 찾는 데 사용해야 합니다. 기능은 메모리에서 반드시 연속되는 것은 아니며 애플리케이션은 두 연속 기능 간의 오프셋이 나중에 일정하게 유지된다고 가정해서는 안 됩니다.

함수의 FeatureID 매개 변수는 기능 마스크 내의 비트에 해당합니다. 예를 들어 FeatureId 2는 SetXStateFeaturesMaskFeatureMask 4에 해당합니다. FeatureID 값 0과 1은 각각 X87 FPU 상태 및 SSE 상태에 해당합니다.

SetThreadContext 또는 Wow64SetThreadContext API를 통해 스레드에서 XState를 설정하는 경우 채우기 기능의 마스크 값을 사용하여 CONTEXT 구조에서 SetXStateFeaturesMask를 호출하여 기능을 활성으로 표시해야 합니다.

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

Intel AVX

SetThreadContext

SetXStateFeaturesMask

XState 컨텍스트 작업

Wow64SetThreadContext