多功能设备驱动程序设计指南

多功能设备在其父总线上占据一个位置,但包含多个函数。 打印机/扫描仪/传真设备和调制解调器/网卡的组合是常见的多功能设备。

在多功能设备中,各个函数是独立的。 这意味着函数必须具有以下特征:

  • 这些函数不能具有起始顺序依赖项。

  • 一个函数的资源要求不能用另一个函数的资源来表示(例如,function1 使用 I/O 端口 x,function2 使用端口 x + 200)。

  • 即使每个函数由与另一个函数相同的驱动程序提供服务,每个函数也必须能够作为单独的设备运行。

  • 必须枚举设备上的每个函数。

  • 必须向 PnP 管理器传达每个函数的资源要求。

  • 每个函数都必须有 INF 文件和驱动程序。

负责其中每个任务的组件取决于设备的父总线的多功能标准、设备符合标准的程度以及父总线驱动程序的功能。

如果设备符合其总线的多功能标准,驱动程序要求会显著减少。 为电脑卡和 PCI 总线定义了行业范围的多功能标准。

如果使用用于数据存储的多功能 DVD/CD-ROM 设备(不适用于音频/视频播放),则应使用系统提供的 WDM DVD 类驱动程序,它将设备视为单个逻辑单元。

对于结合了其他功能的多功能设备,如果设备符合其总线的多功能标准,则可以使用系统提供的驱动程序和 INF 文件。 系统提供的多功能驱动程序(mf.sys)可以处理设备的总线级枚举和资源分配要求,系统提供的 INF(mf.sys)可以安装多功能设备。 只需为每个单独的设备功能提供函数驱动程序和 INF 文件。

如果设备不符合其总线的标准,那么除了设备功能的函数驱动程序和 INF 文件外,可能还需要提供一个功能等同于 mf.sys 的驱动程序。

若要安装多功能设备,通常为设备提供基本 INF 文件,并为每个设备的函数提供额外的 INF 文件。 基本 INF 文件通常复制设备各个功能的 INF 文件。 有关如何实现此操作的信息,请参阅 复制 INF

以下部分介绍了各种类型的多功能设备的驱动程序和安装要求:

支持多功能电脑卡设备

支持多功能 PCI 设备

在其他总线上支持多功能设备

使用 System-Supplied 多功能总线驱动程序

为多功能设备创建资源映射

有关 INF 文件语法的信息,请参阅 INF 文件节INF 文件指令

Windows 驱动程序工具包(WDK)包含一个单独的部分,介绍如何支持 多功能音频设备