Compartilhar via


Driver de porta WaveCyclic

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

O driver de porta WaveCyclic gerencia a reprodução ou gravação de um fluxo de ondas por um dispositivo de áudio baseado em DMA que processa dados de áudio em um buffer cíclico. Esse dispositivo é 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 ou ISA na placa-mãe. O driver do adaptador fornece um objeto de miniporto de WaveCyclic correspondente que se associa ao objeto de driver de porta WaveCyclic para formar um filtro de áudio que pode capturar ou renderizar um fluxo de áudio.

O driver de porta WaveCyclic expõe uma interface IPortWaveCyclic ao driver de miniporto. IPortWaveCyclic herda métodos da interface base IPort. IPortWaveCyclic fornece os seguintes métodos adicionais:

IPortWaveCyclic::NewMasterDmaChannel

Cria um novo objeto de canal de DMA mestre para um dispositivo de áudio com um controlador de DMA interno.

IPortWaveCyclic::NewSlaveDmaChannel

Cria um novo objeto de canal DMA subordinado para um dispositivo de áudio sem um controlador de DMA interno.

IPortWaveCyclic::Notify

Notifica o driver de porta de que o controlador de DMA avançou para uma nova posição no fluxo de áudio.

Os objetos de driver de porta WaveCyclic e miniporta WaveCyclic se comunicam entre si por meio das suas respectivas interfaces IPortWaveCyclic e IMiniportWaveCyclic. Além disso, o driver de porta se comunica com os objetos de fluxo do driver de miniport através de suas interfaces IMiniportWaveCyclicStream.