Compartilhar via


Driver de porta WavePci

Importante O uso de WavePci não é mais recomendado, em vez disso, use WaverRT.

O driver de porta WavePci gerencia a reprodução ou gravação de um fluxo de ondas por um dispositivo de áudio que pode executar transferências de dispersão/coleta de DMA para ou de qualquer local na memória física. Com o DMA de dispersão/coleta, o dispositivo pode processar dados de áudio em um buffer que consiste em uma série de mapeamentos. Cada mapeamento é um bloco de memória fisicamente contígua, mas mapeamentos sucessivos não são necessariamente contíguos entre si. O dispositivo compatível com WavePci é uma função de hardware em um adaptador de áudio. Normalmente, o adaptador faz parte de um chipset integrado na placa-mãe ou é montado em um cartão de áudio que se conecta a um slot PCI na placa-mãe. O driver do adaptador fornece um driver de miniporto WavePci correspondente que se associa ao objeto de driver de porta WavePci para formar um filtro de onda que pode capturar ou renderizar um fluxo de ondas.

O driver de porta WavePci expõe uma interface IPortWavePci ao driver de miniporto. IPortWavePci herda os métodos da interface base IPort. Além disso, IPortWavePci fornece os seguintes métodos:

IPortWavePci::NewMasterDmaChannel

Cria um novo objeto de canal de DMA mestre. IPortWavePci::Notify

Notifica o driver de porta de que o controlador de DMA avançou para uma nova posição no fluxo de áudio. O driver de porta WavePci também expõe uma interface IPortWavePciStream para cada um dos objetos de fluxo do driver de miniport. IPortWavePciStream herda os métodos na interface base IUnknown. IPortWavePciStream fornece os seguintes métodos adicionais:

IPortWavePciStream::GetMapping

Obtém o próximo mapeamento do driver de porta. IPortWavePciStream::ReleaseMapping

Libera um mapeamento que foi obtido anteriormente por uma chamada GetMapping . IPortWavePciStream::TerminatePacket

Encerra um pacote de E/S mesmo que ele esteja apenas parcialmente preenchido com dados de captura. Um pacote de E/S é uma parte do buffer de áudio que inclui todos os mapeamentos relacionados a um IRP de mapeamento específico.

Os objetos de porta WavePci e miniport se comunicam entre si por meio de suas respectivas interfaces IPortWavePci e IMiniportWavePci . Além disso, os objetos de fluxo das interfaces de porta WavePci e miniport se comunicam entre si por meio de suas respectivas interfaces IPortWavePciStream e IMiniportWavePciStream.