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 保存的状态。 堆栈自然会保留保存的状态信息的嵌套。 如果驱动程序代码将状态存储在堆栈以外的位置,驱动程序编写器必须特别小心,以保留 KeSaveExtendedProcessorState 的嵌套,并 KeRestoreExtendedProcessorState 调用。
  • 还原已保存状态的 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