Partilhar 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 onda por um dispositivo de áudio baseado em DMA que processa dados de áudio em um buffer cíclico. Este 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 uma placa de áudio que se conecta a um slot PCI ou ISA na placa-mãe. O driver do adaptador fornece um objeto de driver de miniporta WaveCyclic correspondente que se liga ao objeto de driver de porta WaveCyclic para formar um filtro de onda que pode capturar ou renderizar um fluxo de onda.

O driver de porta WaveCyclic expõe uma interface IPortWaveCyclic para o driver de miniporta. IPortWaveCyclic herda os métodos na interface base IPort. IPortWaveCyclic fornece os seguintes métodos adicionais:

IPortWaveCyclic::NewMasterDmaChannel

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

IPortWaveCyclic::NewSlaveDmaChannel

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

IPortWaveCyclic::Notificar

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

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