| 关键词: 函数 BugCheck 简单 HalReturnToFirmw 内核 但是 驱动 如果 文档 一个 |
如何从内核态重启系统呢,一个经常被推荐的简单的解决办法是 用驱动来通知一个用户态的服务并调用ExitWindowsEx函数 但是如果你非要想在内核态做这件事呢?那么你可以使用HalReturnToFirmware或NtShutdownSystem函数 但是这些函数都是无文档的,如果你使用它们,你的驱动可能无法通过WHQL认证 这里提供一种简单的、完全有文档的方法: 使用下面的函数 KeBugCheck(POWER_FAILURE_SIMULATE); 也许你会认为这是BugCheck,那么你错了,这并不会引发bugcheck 这样实际上会调用了HalReturnToFirmware(HalRebootMachine) 当执行了BugCheck回调后,无BSOD,无Crash dump,只会进行非常干净、简单和直接的重启动;) |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|