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。
  • 通常,调用方分配 的XSTATE_SAVE 结构包含 KeSaveExtendedProcessorState 保存的状态位于堆栈上。 堆栈自然保留已保存状态信息的嵌套。 如果驱动程序代码将状态存储在堆栈以外的位置,驱动程序编写者必须特别注意保留 KeSaveExtendedProcessorStateKeRestoreExtendedProcessorState 调用的嵌套。
  • 还原已保存状态的 KeRestoreExtendedProcessorState 调用必须与保存状态的 KeSaveExtendedProcessorState 调用在同一线程中运行。
一组类似的规则适用于 KeSaveFloatingPointStateKeRestoreFloatingPointState 例程。

要求

要求
最低受支持的客户端 在 Windows 7 和更高版本的 Windows 中可用。
目标平台 通用
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (请参阅备注部分)

另请参阅

KeRestoreFloatingPointState

KeSaveExtendedProcessorState

KeSaveFloatingPointState

XSTATE_SAVE