다음을 통해 공유


KeRestoreExtendedProcessorState 함수(wdm.h)

KeRestoreExtendedProcessorState 루틴은 이전에 저장한 확장 프로세서 상태 정보를 복원합니다.

구문

void KeRestoreExtendedProcessorState(
  [in] PXSTATE_SAVE XStateSave
);

매개 변수

[in] XStateSave

복원할 확장 프로세서 상태 정보를 포함하는 XSTATE_SAVE 구조체에 대한 포인터입니다. 이 구조체의 내용은 이전에 KeSaveExtendedProcessorState 루틴에 의해 저장되어야 합니다.

반환 값

없음

설명

커널 모드 드라이버 코드는 KeSaveExtendedProcessorStateKeRestoreExtendedProcessorState 에 대한 호출이 제대로 중첩되었는지 확인해야 합니다. 이는 각 중첩 수준에서 KeRestoreExtendedProcessorState 호출에 의해 복원된 상태가 해당 KeSaveExtendedProcessorState 호출에 의해 저장된 상태와 동일하도록 하는 데 필요합니다. 적절한 중첩을 보장하려면 커널 모드 드라이버 코드가 다음 규칙을 따라야 합니다.

  • 저장된 상태를 복원하는 KeRestoreExtendedProcessorState 호출은 상태를 저장한 KeSaveExtendedProcessorState 호출과 동일한 IRQL에서 실행되어야 합니다.
  • KeSaveExtendedProcessorStateKeRestoreExtendedProcessorState 호출 쌍이 주변 KeSaveExtendedProcessorStateKeRestoreExtendedProcessorState 호출 쌍 내에 중첩된 경우 중첩된 호출에 대한 IRQL은 주변 호출의 IRQL보다 낮지 않아야 합니다.
  • 일반적으로 KeSaveExtendedProcessorState에서 저장한 상태를 포함하는 호출자가 할당한 XSTATE_SAVE 구조체가 스택에 상주합니다. 스택은 저장된 상태 정보의 중첩을 자연스럽게 유지합니다. 드라이버 코드가 스택 이외의 위치에 상태를 저장하는 경우 드라이버 작성기는 KeSaveExtendedProcessorStateKeRestoreExtendedProcessorState 호출의 중첩을 유지하기 위해 특별히 주의해야 합니다.
  • 저장된 상태를 복원하는 KeRestoreExtendedProcessorState 호출은 상태를 저장한 KeSaveExtendedProcessorState 호출과 동일한 스레드에서 실행되어야 합니다.
KeSaveFloatingPointStateKeRestoreFloatingPointState 루틴에 유사한 규칙 집합이 적용됩니다.

요구 사항

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

추가 정보

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE