WDM-UAA音频驱动简介
2022-08-10
138
0
UAA全称Microsoft Universal Audio Architecture.
Windows内核音频体系包括两大部分,分别为WDM和KS(kernel stream)组件。并且其支持的操作系统从Windows 98至现在最新的Windows 11.
Windows对支持符合UAA规范的PCI,USB,IEEE1394总线提供免驱动的支持,故不需要开发额外的驱动。
如果硬件厂商需要提供其自定义的驱动支持,可以根据需要选择为PortCls系统驱动程序(PortCls.sys)或AVStream(Ks.sys)类系统驱动程序。
PortClass
一般传统的音频设备驱动使用PortClas驱动类实现。驱动开发者为了实现应用程序与驱动程序的通讯,其必须选择合适的端口驱动程序。PortClass提供的端口驱动程序类如:WaveCyclic, WavePci, and WaveRT.
AVStream
AVStream是微软提供的另一类驱动程序。其不仅支持音频,也支持视频。其驱动主体是ks.sys。
各相驱动之间的层次关系
微软虽然在驱动层次架构等方面严格区分了各个驱动模块之间的界限,不过在驱动文件上并没有做到了完全的划分,其主要表现在ks.sys上。
ks.sys的内容包括了通用的音视频驱动通用代码和avstream的全部代码。而portclass又因和avstream并列,又得对上使用ks.sys中的通用音频驱动代码。
而在逻辑上的区分应为:
更详尽的驱动程序架构为:
可以看到,USB的UAC驱动也属于AVStream驱动程序架构。