<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[gOxiA=苏繁=SuFan Blog]]></title> 
<link>https://maytide.net/index.php</link> 
<description><![CDATA[gOxiA,苏繁,sufan,Microsoft MVP]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[gOxiA=苏繁=SuFan Blog]]></copyright>
<item>
<link>https://maytide.net/read.php/2014.htm</link>
<title><![CDATA[蓝屏排错 PNP_DETECTED_FATAL_ERROR (0xCA)]]></title> 
<author>gOxiA &lt;sufan_cn@msn.com&gt;</author>
<category><![CDATA[Windows Client]]></category>
<pubDate>Wed, 10 Nov 2021 03:10:13 +0000</pubDate> 
<guid>https://maytide.net/read.php/2014.htm</guid> 
<description>
<![CDATA[ 
	<p><img alt="troubleshooting" src="http://goxia.maytide.net/ftpup/2016/a2734efd2a17_D06F/troubleshooting_thumb.png"></p><p><font color="#fd3f0d" size="4"><strong>蓝屏排错 PNP_DETECTED_FATAL_ERROR (0xCA)</strong></font></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xca--pnp-detected-fatal-error" target="_blank">PNP_DETECTED_FATAL_ERROR</a> 即 <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xca--pnp-detected-fatal-error" target="_blank">0xCA</a>，从官方解释可以了解到这表明即插即用管理器遇到了严重的错误，参数1表明了错误类型，本例是发生了无效的 PDO，或未能初始化 PDO。这个 Bugcheck 并不常见，但好在排查起来并不困难。</p><p><a href="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image.png"><img width="558" height="275" title="image" style="border: 0px currentcolor; border-image: none; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_thumb.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在分析中可看到两个设备对象，发生错误的模块是disk.sys，该模块是一个系统文件，所以本身有问题的几率不大，处理进程为 ccSvcHst.exe 它是一个三方进程，往下看 Stack，在 <a href="https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-ioinvalidatedevicestate" target="_blank">nt!IoInvalidateDeviceState</a> 这里发生了 BugCheck，我们可以从 MSDN 了解这个函数的相关说明，而它的上一个 Stack 是 SyDvCtrl64，事件目前比较清晰！</p><p><a href="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_3.png"><img width="558" height="291" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_thumb_3.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来我们看一下设备对象，如下可看到在插入一个三星的固态移动硬盘时 SyDvCtrl 返回了一个空的 DeviecNode 值，导致 PDO 异常。</p><p><a href="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_4.png"><img width="558" height="78" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_thumb_4.png" border="0"></a></p><p><a href="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_5.png"><img width="558" height="690" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_thumb_5.png" border="0"></a></p><p><a href="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_6.png"><img width="558" height="226" title="image" style="margin: 0px; display: inline; background-image: none;" alt="image" src="http://goxia.maytide.net/ftpup/2022/83b7910bf449_8684/image_thumb_6.png" border="0"></a></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后，查询了 SyDvCtrl 这个模块发现版本比较老，去其官网查到此本版仅支持到 1909 系统，而在新版中也明确了这个蓝屏问题，并得到了修复。</p>
]]>
</description>
</item>
</channel>
</rss>