User-Mode WDM 音频组件

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

  • WinMM 系统组件

  • WDMAud 系统驱动程序

  • DirectSound 系统组件

  • DirectMusic 系统组件

  • Windows 音频服务

WinMM 系统组件

WinMM 系统组件(Winmm.dll 及其 16 位对应组件 Mmsystem.dll)实现 Microsoft Windows 多媒体 API waveXxx、midiXxx、mixerXxx 和 auxXxx(请参阅 Microsoft Windows SDK 文档)。 WinMM 组件使用 WDMAud 系统驱动程序将 WinMM API 调用转换为内核流式处理 I/O 请求。

WDMAud 系统驱动程序

用户模式 WDMAud 系统驱动程序 (Wdmaud.drv) 与内核模式 WDMAud 系统驱动程序 (Wdmaud.sys) 配对。 一起,WDMAud 系统驱动程序在 WinMM API 调用和内核流传输 I/O 请求之间进行转换。 内核模式模式 WDMAud 驱动程序是 SysAudio 系统驱动程序的客户端。

DirectSound 系统组件

DirectSound 系统组件(Dsound.dll)支持 DirectSound API(请参阅Microsoft Windows SDK 文档)。 DirectSound 组件是 SysAudio 驱动程序的客户端。 如果硬件混合可用,SysAudio 驱动程序会将 DirectSound 硬件缓冲区直接连接到呈现设备。 否则,SysAudio 驱动程序会将 DirectSound 软件缓冲区连接到 KMixer 系统驱动程序。 有关详细信息,请参阅 使用 DirectSound 软件和硬件缓冲区呈现波形内容

DirectMusic 系统组件

DirectMusic 系统组件(DMusic.dll)支持 DirectMusic API(请参阅Microsoft Windows SDK 文档)。 此组件将对 DirectMusic API 发出的调用转换为对 WDM 音频设备的 I/O 请求。 DirectMusic 组件是 SysAudio 系统驱动程序的客户端。

Windows 音频服务

在 Windows XP 及更高版本中,Windows 音频服务组件(Audiosrv.dll)管理基于 Windows 的程序的音频设备。 停止 Windows 音频服务可防止音频设备和效果正常运行。 如果禁用音频服务,显式依赖它们的任何其他服务(包括 WDM 音频驱动程序)将无法启动。 在 Windows XP 及更高版本的 Home Edition、Professional 和 Server 版本中,音频服务默认配置为自动启动。 但是,在 Windows Server 2003 及更高版本的高级服务器、数据中心和 Web 服务器版本中,音频服务默认处于禁用状态。 禁用音频服务时,安装音频设备不会启用它们 -- 仅当管理员显式配置音频服务以执行此作时,音频服务才会自动运行。 有关启动和停止 Windows 服务的信息,请参阅 “服务 ”对话框中的帮助文件(在 “管理工具”下的 Windows 控制面板中查找)。