Функция KeRestoreExtendedProcessorState (wdm.h)

Подпрограмма KeRestoreExtendedProcessorState восстанавливает ранее сохраненные расширенные сведения о состоянии процессора.

Синтаксис

void KeRestoreExtendedProcessorState(
  [in] PXSTATE_SAVE XStateSave
);

Параметры

[in] XStateSave

Указатель на структуру XSTATE_SAVE , содержащую сведения о расширенном состоянии процессора для восстановления. Содержимое этой структуры должно быть ранее сохранено подпрограммой KeSaveExtendedProcessorState .

Возвращаемое значение

None

Remarks

Код драйвера в режиме ядра должен гарантировать правильность вложенных вызовов KeSaveExtendedProcessorState и KeRestoreExtendedProcessorState . Это необходимо для того, чтобы на каждом уровне вложения состояние, восстановленное вызовом KeRestoreExtendedProcessorState , совпадало с состоянием, сохраненным соответствующим вызовом KeSaveExtendedProcessorState . Чтобы обеспечить правильное вложение, код драйвера в режиме ядра должен соответствовать следующим правилам:

  • Вызов KeRestoreExtendedProcessorState , который восстанавливает сохраненное состояние, должен выполняться в том же irQL, что и вызов KeSaveExtendedProcessorState , который сохранил состояние.
  • Если пара вызовов KeSaveExtendedProcessorState и KeRestoreExtendedProcessorState вложена в пару вызовов KeSaveExtendedProcessorState и KeRestoreExtendedProcessorState , значение IRQL для вложенных вызовов не должно быть ниже IRQL для окружающих вызовов.
  • Как правило, выделенная вызывающим объектом XSTATE_SAVE структура, содержащая состояние, сохраненное KeSaveExtendedProcessorState , находится в стеке. Стек естественным образом сохраняет вложенную информацию о состоянии. Если код драйвера сохраняет состояние в расположении, отличном от стека, модуль записи драйверов должен проявлять особую осторожность для сохранения вложенности вызовов KeSaveExtendedProcessorState и KeRestoreExtendedProcessorState .
  • Вызов KeRestoreExtendedProcessorState , который восстанавливает сохраненное состояние, должен выполняться в том же потоке, что и вызов KeSaveExtendedProcessorState , который сохранил состояние.
Аналогичный набор правил применяется к подпрограммам KeSaveFloatingPointState и KeRestoreFloatingPointState .

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (см. раздел "Примечания")

См. также раздел

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE