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) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (请参阅备注部分) |