如何将过滤器驱动程序安装为较低的过滤器驱动程序? DDK的所有样品都是上部过滤器驱动器。 除了使用INF文件进行此项工作外,是否有任何方法? 我知道较低的过滤器驱动程序位于FDO和BDO的顶部,但如果有更多的那个较低的过滤器驱动程序,它们是如何排序的?我可以将我的驱动程序放在此堆栈的特定位置吗?
答案 0 :(得分:4)
如何安装过滤器驱动程序作为较低的过滤器驱动程序?
上层和下层过滤器驱动程序的安装方式大致相同 - 您实际上并不需要INF - 您只需在注册表中设置值即可。 当然,这取决于您想要安装哪种类型的过滤器驱动程序,但作为示例,如果我想设置较低的磁盘类过滤器驱动程序,我打开Regedit并导航到以下密钥:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}
在这里,您应该看到一个名为UpperFilters的字符串值,其中包含PartMgr。如果要添加Lower Filter,只需创建LowerFilters值并为其设置驱动程序密钥的名称。键名中的GUID很糟糕,但如果您浏览类键,您将看到许多GUID命名键 - 每个键的默认值包含键所代表的设备的简要说明。
与PartMgr和所有其他驱动程序一样,您需要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
下创建具有所有相应配置值的驱动程序密钥。如果您不确定驱动程序的值,请将整个HKLM \ SYSTEM密钥转储到文件中,正常安装驱动程序,再次转储整个HKLM \ SYSTEM密钥并扩展转储以查看放置的值其中。
我可以将驱动程序放在此堆栈的特定位置吗?
与任何人告诉你的内容相反,答案是否定的。人们有时会相信,当UpperFilters和LowerFilters注册表值中列出了多个驱动程序时,此列表中的第一个驱动程序将首先加载。我甚至目睹了这种转变为“登记战争”,司机们不断争夺他们在名单中的位置。这是无稽之谈,你应该设计你的司机来应对出现在你上方或下方的任何其他司机。
答案 1 :(得分:0)
你可以使用osr.com提供的实用程序驱动程序,它会为你的驱动程序加载上/下过滤器驱动程序。基本上它是一个基于gui的实用程序,你将需要加载驱动程序的所有选项。 1.您可以设置您的驱动程序加载顺序。 你可以选择你的驱动程序你写的是什么样的。 3.不需要inf来设置注册表项,它会自动为你做,但如果你想修改这些键值,你可以手动完成。 4.欲了解更多信息,请访问www.osr.com。 享受: - )