判断Windows是否处于安全模式
判断Windows是否处于安全模式一、前言
?
?? 在开发驱动的时候,在有的情况下需要查看操作系统是不是运行在安全模式下。比如我们如果判断出系统正处于安全模式下,就不让驱动程序加载成功。
二、原理?
InitSafeBootMode取值情况如下:
值模式0操作系统不是处于安全模式中1SAFEBOOT_MINIMAL2?
extern PULONGInitSafeBootMode;
如果驱动的服务启动类型是SERVICE_BOOT_START,在功能驱动的AddDevice例程中检查InitSafeBootMode的值。如果系统处于安全模式下,则返回错误。
注:在DriverEntry例程中,返回值一定不能为错误。
如果驱动是过滤驱动,则在系统启动过程中在AddDevice例程中检查InitSafeBootMode的值。如果操作系统处于安全模式下,则:
对于其他驱动,在驱动的DriverEntry例程中检查InitSafeBootModed的值。如果系统处于安全模式,则返回表示错误的代码。