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는 SetXStateFeaturesMask의 FeatureMask 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 |