lzg_ad:创建一个第三方设备驱动程序组件

简介:
在WES\XPE开发过程中,我们可能会遇到这样的问题,我们的硬件平台中可能包含I/O设备,但其驱动程序没有包含在WES\XPE默认的组件库中。这个I/O生产商已经在Windows XP Professional上开发了自定义的设备驱动程序来操作设备。许多制造商并没有为它们的设备驱动程序创建和发布WES或XPE的组件。
    在这种情况下,组件设计器可以使我们从附带每个Windows XP兼容设备驱动程序的.inf文件中创建这样一个驱动组件。
    注:.inf文件是一个纯文本文件,其中包含安装驱动程序所需的所有信息。

INF文件

    .inf文件是设备驱动程序安装过程中的核心。.inf文件是一个纯文本文件,具有多个为特定目的设计的章节;例如,复制文件或添加注册表项到注册表中。.inf文件中的章节数量和类型取决于特定安装过程。每一节由有助于该节目的的行组成。.inf文件的格式在INF文件通用指南中和微软Windows驱动程序开发工具包的目录章节中有描述。安装功能使用此格式从.inf文件获取信息。

准备

    在运行XP Professional的操作系统上安装该设备驱动程序,如您的本地计算机上,使其设备驱动程序能够正常工作。创建一个新文件夹,作为新组件的存储库。复制设备驱动程序. inf文件到这个新文件夹。

导入INF 文件

    在组件设计器中,从文件菜单上选择“Import”导入。在选择文件导入对话框中,找到该新文件夹,选择.inf文件,并点击“Open”。INF处理选项对话框出现。要为.inf文件中的设备驱动程序创建一个组件,选中“Automatic parsing”(自动解析)复选框,然后点击“OK”。在导入文件对话框中的日志文件编辑框,键入文本文件的路径和名称用于报告文件导入过程中的状态,并点击“Start”。等待导入过程完成,然后点击“Close”。一个新的.sld文件,其中包含了新的设备驱动程序组件显示在SLD浏览器中。这个.sld文件从.inf文件继承其名字。该组件从它包含的设备驱动程序继承名字。如果.inf文件包含多个设备驱动程序,.sld文件包含多个组件。

配置组件属性

    要配置创建好的组件,展开SLD文件夹下的组件文件夹并选择组件。组件的属性显示在详细信息窗格中。在详细信息窗格中,可以更改组件的属性。可以在分配给“DriverVer”值的“Version”节下的.inf文件中找到版本号。可以为一个组件指定其它属性,例如它的原型组件,帮助文件,以及可见性。还可以为组件指定存储库。

组成员

    导入过程分配组成员,因为如果.inf文件编写正确,包含分配的“ClassGUID” 和“Class”值,这些将给导入过程提供设备的组成员信息。如果没有分配一个组成员,建议在添加组件组成员对话框中找到最相关的“Categories>Hardware>Devices”节点,手动将其添加到组成员。

文件

    导入过程添加文件资源,该过程会在.inf文件中适当的章节下寻找。该过程也在.inf文件中“DestinationDirs”节下寻找并分配有效路径。如果失败,您可以手动添加文件,分配.sys系统文件到目标路径%12%(\Windows\system32\drivers) ,并分配.cat和.inf文件到目标路径%17%(Windows\inf) 。.cat 文件不是必需的,除非您想要允许卸载该设备驱动程序。

用组件关联一个存储库

    我们必须分配一个现有的存储库或为这个组件创建一个专门的存储库。通过选择组件并在详细信息窗格中存储库编辑框中键入存储库名字来指定包含物理文件的存储库来关联存储库。也可以点击“Repositories”按钮,并从存储库列表中选择存储库。下图显示如何分配一个存储库。保存我们的.sld文件并将其导入到组件库。
 

总结

    导入.inf文件时有几个需要注意的问题。这些文件是由许多设备驱动程序开发人员编写的,编写的质量不一致。导入过程很大程度上取决于.inf文件质量。如果在导入.inf文件遇到问题,您可以使用命令行工具“EConvert” 将.inf文件转换成.sld文件,打开创建的.sld文件并按需要编辑组件定义。另一个要记住的是,需要关联包含物理文件的存储库到组件。否则,当您在配置中使用它时,构建会失败,因为它无法找到组件的文件。

本文转自雷志刚 51CTO博客,原文链接:http://blog.51cto.com/leizhigang/237718
相关文章
【Magisk模块】HC优化4.22 [重置]代号DC
【Magisk模块】HC优化4.22 [重置]代号DC
161 0
【Magisk模块】HC优化4.22 [重置]代号DC
|
芯片
编写app流程---直接访问eeprom硬件
编写app流程---直接访问eeprom硬件
124 0
|
Linux Shell 开发工具
|
网络协议 网络安全 Windows
|
数据安全/隐私保护 存储 安全