KeRestoreExtendedProcessorState 函数 (wdm.h)
KeRestoreExtendedProcessorState 例程还原以前保存的扩展处理器状态信息。
语法
void KeRestoreExtendedProcessorState(
[in] PXSTATE_SAVE XStateSave
);
参数
[in] XStateSave
指向包含要还原的扩展处理器状态信息的 XSTATE_SAVE 结构的指针。 此结构的内容以前必须由 KeSaveExtendedProcessorState 例程保存。
返回值
没有
言论
内核模式驱动程序代码必须确保正确嵌套对 KeSaveExtendedProcessorState 和 KeRestoreExtendedProcessorState 的调用。 这是必需的,因此,在每个嵌套级别,由 KeRestoreExtendedProcessorState 调用还原的状态与相应 KeSaveExtendedProcessorState 调用保存的状态相同。 若要确保正确嵌套,内核模式驱动程序代码必须遵循以下规则:
- KeRestoreExtendedProcessorState 调用,还原已保存状态的调用必须与保存状态的 KeSaveExtendedProcessorState 调用在同一 IRQL 上运行。
- 如果一对 KeSaveExtendedProcessorState 和 KeRestoreExtendedProcessorState 调用嵌套在一对周围 KeSaveExtendedProcessorState 和 KeRestoreExtendedProcessorState 调用中, 嵌套调用的 IRQL 不得低于周围调用的 IRQL。
- 通常,调用方分配 XSTATE_SAVE 结构,该结构包含由 KeSaveExtendedProcessorState 保存的状态。 堆栈自然会保留保存的状态信息的嵌套。 如果驱动程序代码将状态存储在堆栈以外的位置,驱动程序编写器必须特别小心,以保留 KeSaveExtendedProcessorState 的嵌套,并 KeRestoreExtendedProcessorState 调用。
- 还原已保存状态的 KeRestoreExtendedProcessorState 调用必须在保存状态的 KeSaveExtendedProcessorState 调用中运行。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows 7 及更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (请参阅“备注”部分) |