WaveRT 微型端口驱动程序

WaveRT 微型端口驱动程序在 Windows Vista 及更高版本的 Windows 操作系统中受支持,负责管理波次呈现或波次捕获音频设备的硬件相关函数。 WaveRT 友好音频设备具有散布/收集 DMA 硬件,可将音频数据传输到物理内存中的任何位置或从任何位置传输音频数据。

WaveRT 微型端口驱动程序必须实现两个接口:

  • IMiniportWaveRT。 此接口将执行微型端口驱动程序初始化、声道枚举和流创建。

  • IMiniportWaveRTStream。 此接口将管理波次流,并公开微型端口驱动程序的大部分功能。

有关如何设计与 WaveRT 端口驱动程序相补充的 WaveRT 微型端口驱动程序的信息,请参阅开发 WaveRT 微型端口驱动程序主题。

IMiniportWaveRT

IMiniportWaveRT 接口提供以下方法:

IMiniportWaveRT::Init

初始化微型端口对象。

IMiniportWaveRT::NewStream

创建新的流对象。

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

更改音频流的传输状态。