WDM 音频驱动程序概述
Windows 驱动程序模型 (WDM) 音频驱动程序使用内核流式处理 (KS) 组件,这些组件在内核模式下运行,并且是操作系统的一部分。
硬件供应商应在开始开发基于 Windows 的音频硬件设备之前做出多个设计决策。
第一个决策是是否设计需要供应商提供的自定义驱动程序的音频设备。 Windows 包含对符合 Microsoft 通用音频体系结构 (UAA) 准则的 PCI、USB 和 IEEE 1394 设备的操作系统支持。 供应商无需为与 UAA 兼容的音频设备提供自定义驱动程序。
但是,如果供应商提供的自定义音频驱动程序是必需的,供应商必须选择驱动程序是否应与 PortCls 系统驱动程序 (Portcls.sys) 或 AVStream 类系统驱动程序 (Ks.sys) 结合使用。 PortCls 和 AVStream 都是 Windows 操作系统的一部分。 PortCls 是大多数音频适配器的正确选择。 有关 PortCls 的详细信息,请参阅端口类简介。 有关 AVStream 的详细信息,请参阅 AVStream 概述。
设计使用 PortCls 的自定义适配器驱动程序时,音频适配器上的设备可供使用 WaveRT 的应用程序使用。 有关详细信息,请参阅 WaveRT 端口驱动程序简介。
另外两个决策涉及如何将适配器拓扑和引脚数据范围呈现到音频应用程序。 拓扑是适配器线路中的数据路径和控制节点的逻辑映射。 数据范围指定设备可以在波形和 MIDI 流中支持的数据格式。 这两个决策都会影响音频适配器上的设备如何显示给应用程序。
在做出以前提及的所有决策时,硬件供应商必须根据实施性能提升的成本来权衡性能提升的价值。 另一个考虑因素是是否可以开发特定解决方案来处理 Windows 系列中的许多产品。 本部分概述了这些问题,以及有关特定主题的更详细文档的参考。
本节包括下列主题: