蓝屏排错 PNP_DETECTED_FATAL_ERROR (0xCA)
PNP_DETECTED_FATAL_ERROR 即 0xCA,从官方解释可以了解到这表明即插即用管理器遇到了严重的错误,参数1表明了错误类型,本例是发生了无效的 PDO,或未能初始化 PDO。这个 Bugcheck 并不常见,但好在排查起来并不困难。
在分析中可看到两个设备对象,发生错误的模块是disk.sys,该模块是一个系统文件,所以本身有问题的几率不大,处理进程为 ccSvcHst.exe 它是一个三方进程,往下看 Stack,在 nt!IoInvalidateDeviceState 这里发生了 BugCheck,我们可以从 MSDN 了解这个函数的相关说明,而它的上一个 Stack 是 SyDvCtrl64,事件目前比较清晰!
接下来我们看一下设备对象,如下可看到在插入一个三星的固态移动硬盘时 SyDvCtrl 返回了一个空的 DeviecNode 值,导致 PDO 异常。
最后,查询了 SyDvCtrl 这个模块发现版本比较老,去其官网查到此本版仅支持到 1909 系统,而在新版中也明确了这个蓝屏问题,并得到了修复。