Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante O uso de WavePci não é mais recomendado, em vez disso, use WaverRT.
Um driver de miniporta WaveCyclic gerencia as funções dependentes de hardware de um dispositivo de renderização ou captura de onda que usa um buffer cíclico para dados de áudio. O buffer cíclico é normalmente um único bloco de memória física contígua e pode ser localizado em uma região de memória da escolha do motorista. Um dispositivo com qualquer uma das seguintes limitações deve fornecer um driver de miniporta WaveCyclic em vez de um driver de miniporta WavePci:
O dispositivo não tem hardware DMA.
O hardware DMA do dispositivo pode acessar dados somente em um buffer que ocupa um único bloco de memória física contígua.
O hardware DMA do dispositivo não consegue aceder a dados em todas as regiões da memória física.
Um driver de miniporta WaveCyclic deve implementar duas interfaces:
A interface de miniporta suporta inicialização de driver de miniporta e criação de fluxo.
A interface de fluxo gerencia um fluxo de onda e expõe a maior parte da funcionalidade do driver de miniporta.
A interface de miniporta, IMiniportWaveCyclic, herda os métodos na interface IMiniport . IMiniportWaveCyclic fornece os seguintes métodos adicionais:
Inicializa o objeto miniport.
IMiniportWaveCyclic::NewStream
Cria um novo objeto stream.
A interface de fluxo, IMiniportWaveCyclicStream, herda os métodos da interface IUnknown. IMiniportWaveCyclicStream fornece os seguintes métodos adicionais:
IMiniportWaveCyclicStream::GetPosition
Obtém a posição atual do dispositivo no fluxo de onda.
IMiniportWaveCyclicStream::NormalizePhysicalPosition
Converte um valor de posição de buffer físico em um valor baseado em tempo.
IMiniportWaveCyclicStream::SetFormat
Define o formato de dados do fluxo de onda.
IMiniportWaveCyclicStream::SetNotificationFreq
Define a frequência com que as interrupções de notificação ocorrem.
IMiniportWaveCyclicStream::SetState
Define o estado do fluxo de onda.
IMiniportWaveCyclicStream::Silêncio
Copia o silêncio para um buffer.