Windows "on the device path for a special file (such as the paging file, hibernate file, or crash du



我注意到,如果您正在处理具有 PowerRelations 类型的IRP_MN_QUERY_DEVICE_RELATIONS,并且您添加了应该发送的电源关系,然后您应该将设备接收IRP_MN_DEVICE_USAGE_NOTIFICATION IRP 发送到目标设备

如果目标设备位于特殊文件(例如 作为分页文件、休眠文件或故障转储文件)...

我以前没有见过这种措辞,也没有多少运气在谷歌上搜索它。在链接之后IRP_MN_DEVICE_USAGE_NOTIFICATION它解释了更多但不是太多的细节,说明将特殊文件附加到设备的实际含义。

系统组件发送此 IRP 以请求驱动程序提供设备 设备是否可以支持特殊文件。特殊文件包括 分页文件、转储文件和休眠文件。如果所有驱动程序 对于设备成功 IRP,系统会创建特殊文件。

在特殊文件的设备路径上意味着什么,通常是什么类型的设备?

免责声明:我不熟悉有问题的控件代码。

但是,文档的含义似乎足够清楚。

例如,考虑分页文件,该文件通常C:pagefile.sys 。 从内核的角度来看,这是

DeviceHarddiskVolume1pagefile.sys

这使得DeviceHarddiskVolume1成为"在特殊文件的设备路径上"的设备。 阅读文档,相关规则也适用于该设备所依赖的任何其他设备。

实际上,如果您是某种存储设备或支持存储设备的总线设备,则只需要担心这一点。 如果这适用于你,并且你支持特殊文件(即,当你收到InPath设置为 TRUEIRP_MN_DEVICE_USAGE_NOTIFICATION时返回成功),并且如果你对另一台设备有不平凡的电源依赖,那么你必须按照所述转发 IRP。

如果不需要支持特殊文件,则调用可能会失败。 例如,可能不需要在可移动媒体设备上支持特殊文件,因此 USB 控制器、集线器等可能不支持它们。 但是RAID控制器可能确实需要支持特殊文件,至少如果您希望能够在RAID磁盘上安装Windows。

相关内容

最新更新