【发布时间】:2011-10-31 09:25:07
【问题描述】:
我正在尝试创建一个驱动程序,该驱动程序将拦截某个键序列并在 Windows 中从内核模式执行重启,类似于 Linux 中的REISUB 键序列。
我已经像Ctrl2Cap 一样创建了一个键盘挂钩,并且我尝试调用NtShutdownSystem 来重新启动系统。
处理程序确实检测到按键,但问题是当它实际调用NtShutdownSystem时,我得到一个带有ATTEMPTED_SWITCH_FROM_DPC错误代码的蓝屏。
我假设这是因为我无法从正在执行的DPC 关闭系统,所以我可能需要从其他地方执行我的代码。 但我不知道在哪里。
所以问题是:
如何在内核模式下检测到按键序列后关闭系统?
【问题讨论】: