다음을 통해 공유


KeSaveExtendedProcessorState 함수(wdm.h)

KeSaveExtendedProcessorState 루틴은 확장된 프로세서 상태 정보를 저장합니다.

구문

NTSTATUS KeSaveExtendedProcessorState(
  [in]  ULONG64      Mask,
  [out] PXSTATE_SAVE XStateSave
);

매개 변수

[in] Mask

64비트 기능 마스크. 이 마스크의 비트는 저장할 확장 프로세서 기능 상태를 식별합니다. 마스크 비트가 1이면 루틴은 이 비트로 식별되는 기능의 상태를 저장합니다. 마스크 비트가 0이면 해당 기능의 상태가 저장되지 않습니다. 이 마스크는 운영 체제가 사용하도록 설정되지 않은 확장 프로세서 기능을 식별해서는 안됩니다. 활성화된 기능의 마스크를 가져오려면 RtlGetEnabledExtendedFeatures 루틴을 호출합니다 .

호출자는 다음 XSTATE_MASK_XXX 플래그 비트 중 하나 이상의 비트 OR로 이 매개 변수를 설정할 수 있습니다.

의미
XSTATE_MASK_LEGACY_FLOATING_POINT 부동 소수점 확장(x87/MMX)입니다.
XSTATE_MASK_LEGACY_SSE 스트리밍 SIMD 확장(SSE)입니다.
XSTATE_MASK_LEGACY x87/MMX 및 SSE 확장 모두.
XSTATE_MASK_GSSE Intel Sandy Bridge(이전의 Gesher) SSE 확장.
XSTATE_MASK_AVX512 AVX-512 확장
XSTATE_MASK_MPX MPX 확장
XSTATE_MASK_AMX_TILE_CONFIG AMX 확장(구성)
XSTATE_MASK_AMX_TILE_DATA AMX 확장(데이터)

[out] XStateSave

루틴이 XSTATE_SAVE 구조를 작성하는 호출자가 할당한 버퍼에 대한 포인터입니다. 이 구조체에는 Mask 매개 변수로 표시된 확장 프로세서 기능에 대한 저장된 상태 정보가 포함됩니다. 버퍼는 이 구조를 포함할 수 있을 만큼 커야 합니다.

반환 값

KeSaveExtendedProcessorState 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES
메모리 할당 작업이 실패했습니다.

설명

XSAVE 및 XRSTOR 명령을 지원하는 x86 기반 프로세서에서 이러한 지침은 확장 프로세서 상태 정보를 저장하고 복원하는 유연한 메커니즘을 제공합니다. KeSaveExtendedProcessorState 는 사용 가능한 경우 이러한 지침을 사용합니다.

KeSaveExtendedProcessorState에서 저장한 확장 프로세서 상태를 복원하려면 KeRestoreExtendedProcessorState 루틴을 호출합니다.

Mask 매개 변수는 상태를 저장할 확장 프로세서 기능을 지정합니다. KeRestoreExtendedProcessorState 호출은 상태를 저장한 KeSaveExtendedProcessorState 호출에 의해 저장된 확장 프로세서 상태만 복원합니다.

커널 모드 코드는 해당 기능을 사용하기 전에 확장 프로세서 기능의 상태를 저장해야 하며 종료하기 전에 상태를 복원해야 합니다.

ISR(인터럽트 서비스 루틴)은 일반적으로 확장 프로세서 기능을 사용하지 못하게 하는 심각한 시간 제약 조건에서 실행됩니다. 그러나 ISR은 하나 이상의 확장 프로세서 기능을 사용하는 DPC(지연 프로시저 호출)를 예약할 수 있습니다. DPC 루틴은 루틴이 실행되는 프로세스 주소 공간에서 중단된 프로그램의 컨텍스트를 유지하기 위해 확장된 기능의 상태를 저장하고 복원해야 합니다.

KeSaveFloatingPointStateKeRestoreFloatingPointState 루틴은 부동 소수점 상태(x87/MMX 레지스터) 및 SSE 상태만 저장하고 복원합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7 및 이후 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

추가 정보

KeRestoreExtendedProcessorState

KeRestoreFloatingPointState

KeSaveFloatingPointState

RtlGetEnabledExtendedFeatures

XSTATE_SAVE