Partilhar 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 onda por um dispositivo de áudio que pode executar transferências DMA de dispersão/coleta de ou para qualquer local na memória física. Com DMA scatter/gather, o dispositivo pode processar dados de áudio num buffer que consiste numa 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 uma placa de áudio que se conecta a um slot PCI na placa-mãe. O driver do adaptador fornece um driver de miniporta WavePci correspondente que se liga ao objeto do driver de porta WavePci para formar um filtro de onda que pode capturar ou renderizar um fluxo de onda.

O driver de porta WavePci expõe uma interface IPortWavePci para o driver de miniporta. IPortWavePci herda os métodos na interface base IPort. Além disso, IPortWavePci fornece os seguintes métodos:

IPortWavePci::NewMasterDmaChannel

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

Notifica o driver da porta que o controlador 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 miniporta. 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 controlador de porta. IPortWavePciStream::ReleaseMapping

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

Encerra um pacote de E/S mesmo que ele seja apenas parcialmente preenchido com dados de captura. Um pacote de E/S é um segmento do buffer de áudio composto por todos os mapeamentos associados a um IRP de mapeamento específico.

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