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 DMA de dispersão/coleta de ou para 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 miniport. IPortWavePci herda os métodos na interface base IPort. Além disso, IPortWavePci fornece os seguintes métodos:

IPortWavePci::NewMasterDmaChannel

Cria um novo master objeto de canal DMA. 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 a 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 seja preenchido apenas parcialmente com dados de captura. Um pacote de E/S é uma parte do buffer de áudio que consiste em todos os mapeamentos associados a um IRP de mapeamento específico.

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