波形滤波器表示呈现和/或捕获波形格式的数字音频数据的设备。应用程序通常通过DirectSound API或Microsoft Windows多媒体waveOut Xxx和waveIn Xxx函数来访问这些设备的功能。
甲波渲染滤波器接收作为输入的波数字音频流,并输出一个模拟音频信号(一组扬声器或外部混合器的)或数字音频流(到S / PDIF连接器,例如)。
甲波捕获过滤器接收作为输入的一个模拟音频信号(从麦克风或输入插孔)或数字流(从S / PDIF连接器,例如)。同一滤波器输出包含数字音频数据的波流。
单个滤波器可以同时执行渲染和捕获。例如,这种类型的滤波器可能代表一种音频设备,该设备可以通过一组扬声器播放音频,并同时通过麦克风记录音频。如动态音频子设备中所述,波形渲染和波形捕获硬件可以表示为单独的波形滤波器。
音频适配器驱动程序通过将wave微型端口驱动程序(系统硬件实施为硬件供应商作为适配器驱动程序的一部分实现)与wave端口驱动程序绑定在一起来构成wave滤波器。微型端口驱动程序处理波形滤波器的所有特定硬件,而端口驱动程序则管理所有通用的波形滤波器功能。
PortCls系统驱动程序(Portcls.sys)实现了三个Wave端口驱动程序:WaveRT,WavePci和WaveCyclic。
三种类型的滤波器的操作如下:
甲波滤波器分配用于数据的缓冲器,并且对用户模式客户端可直接访问该缓冲区。缓冲区可以由连续或不连续的内存块组成,具体取决于波形设备的硬件功能。