繁体   English   中英

如何部署文件系统驱动程序?

[英]How to deploy a file system driver?

我试图测试这个文件系统微过滤驱动程序示例。 我在部署时遇到问题,因为这不是实际的设备驱动程序(非 PnP 驱动程序)。

在 Visual Studio 中,在项目的属性页中: Driver Install -> Deployment ,如果我 select "Hardware ID Update",我不知道驱动程序的硬件 ID 是什么,我也无法在 .INF 文件中看到.

如果我 select“安装/重新安装和验证”->“默认驱动程序 Package 安装任务(可能重新启动)”,我得到Driver Deployment Task Failed: Default Driver Package Installation Task错误。

VS 中的部署设置

我检查了这个这个页面,但除了如何准备 .INF 文件之外我找不到任何东西。

如何将此驱动程序部署到我的目标机器? 谢谢你。

实际上,您不需要 INF 文件来安装您的微型过滤器驱动程序。

首先,如果要自动部署,请从命令行使用“sc create”或从安装程序调用“CreateService”创建 kernel 驱动程序服务。

然后,使用注册表编辑器或在您的安装程序中再次使用 Win32 注册表 API 添加一些注册表修改,如下所示(来自 Norton 360):

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SymEFASI\Instances]
"DefaultInstance"="SymEFASI"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SymEFASI\Instances\SymEFASI]
"Flags"=dword:00000000
"Altitude"="260610"

运行“sc create”或调用“CreateService”时,将“SymEFASI”替换为您的驱动程序服务名称。 最重要的部分是“高度”。 它需要在您的系统中是唯一的,否则过滤器管理器不会由于冲突而加载您的驱动程序。 对于在现实世界中部署给最终用户的正式产品,您需要申请一个由微软分配的唯一编号。 这也很关键,因为微型过滤器驱动程序是按层分类的。 每一层都有自己的功能。 如果您的驱动程序位于错误的层,您可能无法看到所需的正确数据或行为。

完成上述操作后,最后一件事就是运行“sc start”或调用“StartService”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM