内核模式 WDM 音频组件

内核模式 Microsoft Windows 驱动程序模型 (WDM) 音频组件包括:

WDMAud 系统驱动程序

SysAudio 系统驱动程序

KMixer 系统驱动程序

Redbook 系统驱动程序

SBEmul 系统驱动程序

SWMidi 系统驱动程序

DMusic 系统驱动程序

AEC 系统驱动程序

DRMK 系统驱动程序

拆分器系统驱动程序

端口类适配器驱动程序和 PortCls 系统驱动程序

USB 音频类系统驱动程序 (Usbaudio.sys)

AVCAudio 类系统驱动程序

WDMAud 系统驱动程序

内核模式 WDMAud 系统驱动程序 (Wdmaud.sys) 与用户模式 WDMAud 系统驱动程序 (Wdmaud.drv) 配对。 WDMAud 驱动程序对在用户模式 Microsoft Windows 多媒体系统调用和内核流式处理 I/O 请求之间进行转换。 WDMAud 执行以下 API 的 I/O:waveInwaveOutmidiInmidiOutmixeraux(如 Microsoft Windows SDK 文档中所述)。 内核模式 WDMAud 驱动程序是内核流式处理 (KS) 筛选器和 SysAudio 系统驱动程序的客户端。

SysAudio 系统驱动程序

SysAudio 系统驱动程序 (Sysaudio.sys) 会生成用于呈现和捕获音频内容的筛选器图。 SysAudio 驱动程序将音频筛选器图表示为虚拟音频设备,并将每个虚拟音频设备注册为 KSCATEGORY_AUDIO_DEVICE 设备接口的实例。 (适配器驱动程序不应在此类别中自行注册,该类别专用于 SysAudio。)例如,虚拟 MIDI 设备可能表示通过连接 SWMidi 驱动程序、KMixer 驱动程序和端口/微型端口驱动程序创建的筛选器图。 客户端仅与虚拟音频设备通信,而不是与构成虚拟音频设备的个别设备通信。 SysAudio 驱动程序对客户端透明,在筛选器图中配置所有 KS 筛选器,这些筛选器连接在一起形成虚拟音频设备。 以下音频流源使用 SysAudio 生成的图形:

  • DirectSound(请参阅 Microsoft Windows SDK 文档。)

  • Windows 多媒体 API waveInwaveOutmidiInmidiOutmixeraux(请参阅 Windows SDK 文档。)

  • Redbook CD 数字音频(请参阅 Redbook 系统驱动程序。)

  • Sound Blaster 仿真器(请参阅 SBEmul 系统驱动程序。)

  • 内核模式软件合成器(请参阅 SWMidi 系统驱动程序和 DMusic 系统驱动程序。)

  • DRMK 系统驱动程序

KMixer 系统驱动程序

KMixer 系统驱动程序 (Kmixer.sys) 是执行以下操作的 KS 筛选器:

  • 混合多个 PCM 音频流

  • 高质量格式转换

  • 位深度转换

  • 扬声器配置和声道映射

除了简单的 8 位和 16 位单声道和立体声数据格式外,KMixer 驱动程序还支持:

  • PCM 和 IEEE 浮点数据

  • 大于 16 位的位深度和具有两个以上声道的多声道格式

  • 与头相关的传输函数 (HRTF) 3D 处理

有关不同版本的 Windows 中的音量范围和默认音量级别的信息,请参阅默认音频音量设置

Redbook 系统驱动程序

Redbook 系统驱动程序 (Redbook.sys) 是用于管理 CD 数字音频呈现的 KS 筛选器。 Redbook 驱动程序是 SysAudio 系统驱动程序的客户端。 系统通过文件系统将 CD 数字音频路由到 Redbook 驱动程序,然后路由到 SysAudio 驱动程序。 CD 数字音频在首选波形输出设备上呈现(如在控制面板中的多媒体属性页中设置)。

SBEmul 系统驱动程序

SBEmul 系统驱动程序 (Sbemul.sys) 为 MS-DOS 应用程序提供 Sound Blaster 仿真。 SBEmul 驱动程序是 SysAudio 系统驱动程序的客户端。 为了呈现和捕获内容,SysAudio 驱动程序使用首选的波形和 MIDI 设备(在控制面板中的多媒体属性页中设置)。

Sound Blaster 仿真仅在 Windows 98/Me 中受支持。

SWMidi 系统驱动程序

SWMidi 系统驱动程序 (Swmidi.sys) 是 KS 筛选器,提供软件模拟的通用 MIDI (GM) 和高质量的 Roland GS 波式合成。 当硬件合成器不可用时,midiOutXxx 应用程序使用 SWMidi。 SWMidi 筛选器从 WDMAud 系统驱动程序接收输入时间戳 MIDI 流,并将 PCM 波次流输出到 KMixer 系统驱动程序。 SWMidi 在内部混合其所有语音,以形成具有 PCM 波形格式的单个双声道输出流。

DMusic 系统驱动程序

DMusic 系统驱动程序 (Dmusic.sys) 是支持软件仿真、高质量、可下载声音 (DLS) 合成的 KS 筛选器。 DMusic 驱动程序是系统提供的端口类微型端口驱动程序。 它会公开单个 DirectMusic 引脚,该引脚支持 DirectMusic 流数据范围。 DMusic 筛选器从 DirectMusic 系统组件接收为输入时间戳 MIDI 流,并将 PCM 波次流输出到 KMixer 系统驱动程序。 DMusic 驱动程序在内部混合其所有语音,以形成具有 PCM 波形格式的单个双声道输出流。 DirectMusic 应用程序必须显式选择内核模式软件合成器 Dmusic.sys 来代替 DirectMusic 的默认用户模式合成器。

AEC 系统驱动程序

AEC 系统驱动程序 (Aec.sys) 通过在软件中实现 AEC(回声消除)和干扰抑制算法,支持全双工 DirectSound 应用程序。 有关详细信息,请参阅 DirectSound 捕获效果

DRMK 系统驱动程序

DRMK 系统驱动程序 (Drmk.sys) 是用于解密包含受 DRM 保护内容的音频流的 KS 筛选器。 有关详细信息,请参阅数字版权管理

拆分器系统驱动程序

拆分器系统驱动程序 (Splitter.sys) 是从单个输入捕获流创建两个或更多个输出流的 KS 筛选器。 拆分器驱动程序会独立于输入流的格式透明地将输入流复制到另外两个输出流。

Microsoft Windows XP 及更高版本支持拆分器驱动程序。 有关详细信息,请参阅 AVStream 拆分器

端口类适配器驱动程序和 PortCls 系统驱动程序

端口类适配器驱动程序使用端口/微型端口驱动程序体系结构来支持音频设备。 PortCls 驱动程序包括对 ISA 和 PCI 音频设备的内置驱动程序支持。 尽管 PortCls 系统驱动程序 (Portcls.sys) 还提供供应商提供的端口类适配器驱动程序的框架,但 Microsoft 建议供应商使用系统提供的端口类适配器驱动程序来支持 ISA 和 PCI 音频设备。 PortCls 框架还可用于为其他硬件总线上的音频设备或仅软件设备构建驱动程序。 有关详细信息,请参阅端口类简介

USB 音频类系统驱动程序 (Usbaudio.sys)

USBAudio 类系统驱动程序 (Usbaudio.sys) 为符合音频设备的通用串行总线设备类定义的 USB 音频设备提供驱动程序支持。 有关此类系统驱动程序的详细信息,请参阅 USB 音频类系统驱动程序 (Usbaudio.sys)

AVCAudio 类系统驱动程序

AVCAudio 类系统驱动程序 (Avcaudio.sys) 是 AVStream 微型驱动程序,为驻留在 IEEE 1394 总线上的音频设备提供驱动程序支持。 Windows XP 及更高版本中提供了对 IEEE 1394 音频设备的 AVCAudio 驱动程序和相关支持。

若要使用系统提供的驱动程序,硬件供应商应设计其音频设备,以符合以下规范的相应部分:

  • IEC 61883-1 和 IEC 61883-6 (IEC 60958)

  • AV/C 数字接口命令集常规规范版本。 3.0

  • AV/C 音频子单元规范 1.0

  • 连接和兼容性管理规范 1.0

  • AV/C 媒体流格式信息和协商

  • 当前正在处理的 AV/C 音频子单元规范的更新

这些规范在 IEEE 1394 Wiki 页网站上进行了介绍。 AVCAudio 驱动程序支持这些规范中所述的一部分功能。

当音频设备在即插即用设备枚举期间将自身标识为符合 IEEE 1394 的音频设备时,系统会自动加载 AVCAudio 驱动程序来驱动设备。 AVCAudio 会直接驱动设备,无需专有适配器驱动程序。 这意味着符合相应 IEEE 1394 规范的设备不需要专有适配器驱动程序。

Microsoft 建议硬件供应商为其 IEEE 1394 音频设备使用 AVCAudio 驱动程序,而不是编写专有适配器驱动程序。

下图显示了 Windows XP 中 IEEE 1394 音频设备的驱动程序层次结构。 在 Windows XP 及更高版本中,此图中显示的所有驱动程序组件都由 Microsoft 提供操作系统。

Diagram showing the driver hierarchy for an IEEE 1394 audio device in Windows XP.

有关图中驱动程序组件的详细信息,请参阅以下部分:

AVStream 概述

AV/C 客户端驱动程序

IEEE 1394 总线