WaveRT 微型端口驱动程序
WaveRT 微型端口驱动程序在 Windows Vista 及更高版本的 Windows 操作系统中受支持,负责管理波次呈现或波次捕获音频设备的硬件相关函数。 WaveRT 友好音频设备具有散布/收集 DMA 硬件,可将音频数据传输到物理内存中的任何位置或从任何位置传输音频数据。
WaveRT 微型端口驱动程序必须实现两个接口:
IMiniportWaveRT。 此接口将执行微型端口驱动程序初始化、声道枚举和流创建。
IMiniportWaveRTStream。 此接口将管理波次流,并公开微型端口驱动程序的大部分功能。
有关如何设计与 WaveRT 端口驱动程序相补充的 WaveRT 微型端口驱动程序的信息,请参阅开发 WaveRT 微型端口驱动程序主题。
IMiniportWaveRT
IMiniportWaveRT 接口提供以下方法:
初始化微型端口对象。
创建新的流对象。
IMiniportWaveRT::GetDeviceDescription
返回指向描述设备的 DEVICE_DESCRIPTION 结构的指针。
IMiniportWaveRTStream
IMiniportWaveRTStream 接口从 IUnknown 接口继承方法。 IMiniportWaveRTStream 提供以下其他方法:
IMiniportWaveRTStream::AllocateAudioBuffer 为音频数据分配循环缓冲区。
IMiniportWaveRTStream::FreeAudioBuffer
释放以前通过调用 IMiniportWaveRTStream::AllocateAudioBuffer 分配的音频缓冲区。
IMiniportWaveRTStream::GetClockRegister
检索端口驱动程序必须向音频子系统及其客户端公开时钟寄存器的信息。
IMiniportWaveRTStream::GetHWLatency
检索音频硬件中流延迟源的相关信息。
IMiniportWaveRTStream::GetPosition
检索当前播放位置或记录位置,作为缓冲区开头的字节偏移量。
IMiniportWaveRTStream::GetPositionRegister
检索端口驱动程序必须向音频子系统及其客户端公开位置寄存器的信息。
IMiniportWaveRTStream::SetFormat
设置波次流的数据格式。
IMiniportWaveRTStream::SetState
更改音频流的传输状态。