Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante Ya no se recomienda el uso de WavePci; en su lugar, use WaverRT.
Un controlador de miniporte WaveCíclico administra las funciones dependientes del hardware de un dispositivo de representación de onda o captura de onda que usa un búfer cíclico para los datos de audio. El búfer cíclico suele ser un único bloque de memoria física contigua y se puede ubicar en una región de memoria de la elección del controlador. Un dispositivo con cualquiera de las siguientes limitaciones debe proporcionar un controlador de miniporte WaveCíclico en lugar de un controlador de miniporte WavePci:
El dispositivo carece de hardware DMA.
El hardware DMA del dispositivo solo puede acceder a los datos en un búfer que ocupa un único bloque de memoria física contigua.
El hardware DMA del dispositivo no puede acceder a los datos en todas las regiones de memoria física.
Un controlador de miniporte WaveCyclic debe implementar dos interfaces:
La interfaz de miniporte admite la inicialización del controlador de miniporte y la creación de secuencias.
La interfaz de flujo administra un flujo de onda y expone la mayor parte de la funcionalidad del controlador de miniport.
La interfaz de miniport, IMiniportWaveCyclic, hereda los métodos de la interfaz IMiniport. IMiniportWaveCyclic proporciona los siguientes métodos adicionales:
Inicializa el objeto miniport.
IMiniportWaveCyclic::NewStream
Crea un nuevo objeto de secuencia.
La interfaz de secuencia, IMiniportWaveCyclicStream, hereda los métodos de la interfaz IUnknown. IMiniportWaveCyclicStream proporciona los siguientes métodos adicionales:
IMiniportWaveCyclicStream::GetPosition
Obtiene la posición actual del dispositivo en el flujo de onda.
IMiniportWaveCyclicStream::NormalizePhysicalPosition
Convierte un valor de posición de búfer físico en un valor basado en tiempo.
IMiniportWaveCyclicStream::SetFormat
Establece el formato de datos del flujo de onda.
IMiniportWaveCyclicStream::SetNotificationFreq
Establece la frecuencia con la que se producen interrupciones de notificación.
IMiniportWaveCyclicStream::SetState
Establece el estado de la secuencia de onda.
IMiniportWaveCyclicStream::Silence
Copia el silencio en un búfer.