Controlador miniport de WaveRT

El controlador de miniporte waveRT se admite en Windows Vista y versiones posteriores sistemas operativos Windows, y administra las funciones dependientes del hardware de un dispositivo de audio de captura de onda o de representación de ondas. Un dispositivo de audio compatible con WaveRT tiene hardware DMA de dispersión y recopilación que puede transferir datos de audio a o desde cualquier ubicación en la memoria física.

Un controlador de miniporte waveRT debe implementar dos interfaces:

  • IMiniportWaveRT. Esta interfaz realiza la inicialización del controlador de miniporte, la enumeración de canales y la creación de secuencias.

  • IMiniportWaveRTStream. Esta interfaz administra un flujo de onda y expone la mayor parte de la funcionalidad del controlador de minipuerto.

Para obtener información sobre cómo diseñar un controlador de miniporte waveRT que complemente el controlador de puerto waveRT, consulte el tema Developing a WaveRT Miniport Driver .

IMiniportWaveRT

La interfaz IMiniportWaveRT proporciona los métodos siguientes:

IMiniportWaveRT::Init

Inicializa el objeto miniporte.

IMiniportWaveRT::NewStream

Crea un nuevo objeto de secuencia.

IMiniportWaveRT::GetDeviceDescription

Devuelve un puntero a una estructura DEVICE_DESCRIPTION que describe el dispositivo.

IMiniportWaveRTStream

La interfaz IMiniportWaveRTStream hereda los métodos de la interfaz IUnknown . IMiniportWaveRTStream proporciona los siguientes métodos adicionales:

IMiniportWaveRTStream::AllocateAudioBuffer Asigna un búfer cíclico para los datos de audio.

IMiniportWaveRTStream::FreeAudioBuffer

Libera un búfer de audio asignado previamente con una llamada a IMiniportWaveRTStream::AllocateAudioBuffer.

IMiniportWaveRTStream::GetClockRegister

Recupera la información que el controlador de puerto debe tener para exponer el registro del reloj al subsistema de audio y a sus clientes.

IMiniportWaveRTStream::GetHWLatency

Recupera información sobre los orígenes de latencia de secuencia en el hardware de audio.

IMiniportWaveRTStream::GetPosition

Recupera la posición actual de reproducción o registro como desplazamiento de bytes desde el principio del búfer.

IMiniportWaveRTStream::GetPositionRegister

Recupera la información que el controlador de puerto debe tener para exponer el registro de posición en el subsistema de audio y sus clientes.

IMiniportWaveRTStream::SetFormat

Establece el formato de datos de la secuencia de onda.

IMiniportWaveRTStream::SetState

Cambia el estado de transporte de la secuencia de audio.