Compartir a través de


Controlador de puerto WavePci

Importante El uso de WavePci ya no se recomienda, en su lugar, usar WaverRT.

El controlador de puerto WavePci administra la reproducción o grabación de una secuencia de onda por un dispositivo de audio que puede realizar transferencias de DMA de dispersión o de cualquier ubicación en la memoria física. Con la dispersión o recopilación de DMA, el dispositivo puede procesar los datos de audio en un búfer que consta de una serie de asignaciones. Cada asignación es un bloque de memoria físicamente contigua, pero las asignaciones sucesivas no son necesariamente contiguas entre sí. El dispositivo compatible con WavePci es una función de hardware en un adaptador de audio. Normalmente, el adaptador forma parte de un conjunto de chips integrado en la placa base o se monta en una tarjeta de audio que se conecta a una ranura PCI en la placa base. El controlador del adaptador proporciona un controlador de miniport de WavePci correspondiente que se enlaza al objeto del controlador de puerto WavePci para formar un filtro de onda que puede capturar o representar un flujo de onda.

El controlador de puerto WavePci expone una interfaz IPortWavePci al controlador de minipuerto. IPortWavePci hereda los métodos de la interfaz base IPort. Además, IPortWavePci proporciona los métodos siguientes:

IPortWavePci::NewMasterDmaChannel

Crea un nuevo objeto de canal DMA maestro. IPortWavePci::Notify

Notifica al controlador de puerto que el controlador DMA ha avanzado a una nueva posición en la secuencia de audio. El controlador de puerto WavePci también expone una interfaz IPortWavePciStream a cada uno de los objetos de secuencia del controlador de minipuerto. IPortWavePciStream hereda los métodos de la interfaz base IUnknown. IPortWavePciStream proporciona los siguientes métodos adicionales:

IPortWavePciStream::GetMapping

Obtiene la siguiente asignación del controlador de puerto. IPortWavePciStream::ReleaseMapping

Libera una asignación obtenida previamente por una llamada a GetMapping . IPortWavePciStream::TerminatePacket

Finaliza un paquete de E/S incluso si solo se rellena parcialmente con datos de captura. Un paquete de E/S es una parte del búfer de audio que consta de todas las asignaciones asociadas a un IRP de asignación determinado.

El puerto WavePci y los objetos miniport se comunican entre sí a través de sus respectivas interfaces IPortWavePci e IMiniportWavePci . Además, los objetos wavePci port y miniport stream se comunican entre sí a través de sus respectivas interfaces IPortWavePciStream e IMiniportWavePciStream .