自定义音频驱动程序

不与 UAA 兼容的音频设备需要供应商提供的自定义驱动程序。 此外,UAA 兼容的音频适配器可以包含 UAA 类驱动程序不支持的专有功能;仅当供应商提供自定义音频驱动程序时,应用程序才能访问这些功能。 只有标准 UAA 功能可通过系统提供的 UAA 驱动程序进行访问。 有关 UAA 支持的功能的信息,请参阅通用音频体系结构白皮书。

硬件供应商可以使用两个选项来编写自定义音频驱动程序:开发用于 PortCls 系统驱动程序 (Portcls.sys) 的自定义音频适配器驱动程序,或开发用于 AVStream 类系统驱动程序 (Ks.sys) 的自定义微型驱动程序。

音频适配器的大多数自定义驱动程序都使用 PortCls,它作为操作系统的一部分提供。 PortCls 系统驱动程序 (Portcls.sys) 包含内置的音频驱动程序基础结构,可简化编写自定义音频驱动程序的任务。 PortCls 可实现多个端口驱动程序,每个驱动程序专用于管理特定类型的波形、MIDI 或混音器设备的泛型函数。 选择适当的端口驱动程序集来管理音频适配器上的音频函数后,供应商将开发一组补充性微型端口驱动程序,这些驱动程序可与所选端口驱动程序结合使用,并控制音频设备的硬件相关功能。

供应商还可以通过开发自定义 AVStream 类微型驱动程序来支持音频设备。 微型驱动程序与 AVStream 类系统驱动程序结合使用,后者作为操作系统的一部分提供。 实现 AVStream 驱动程序比使用 PortCl 更为困难,但这样做可能仍适用于集成音频和视频的设备。 现有 USB 或 IEEE 1394 音频设备可能还需要 AVStream 驱动程序,该设备不符合系统提供的 USBAudio 或 AVCAudio 类系统驱动程序的要求。

对于几乎所有需要供应商提供的自定义驱动程序的 PCI 音频适配器,供应商应选择 PortCls。

AVStream 类系统驱动程序 (Ks.sys) 缺少 PortCls 中存在的大多数特定于音频的支持函数。

有关 PortCls 的详细信息,请参阅端口类简介。 有关 AVStream 的详细信息,请参阅 AVStream 概述