Compartilhar via


Driver de miniporta WavePci

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

Um driver de miniporto WavePci gerencia as funções dependentes de hardware de um dispositivo de renderização de ondas ou de captura de onda que tem hardware DMA de dispersão/coleta que pode transferir dados de áudio para ou de qualquer local na memória física. Um dispositivo de onda que não tem a capacidade de executar transferências de dispersão/coleta ou é capaz de acessar apenas regiões restritas na memória física deve usar um driver de miniporto WaveCyclic .

Um driver de miniporto WavePci deve implementar duas interfaces:

  • A interface de miniport executa a inicialização do driver de miniport, a enumeração de canais e a criação de fluxos.

  • A interface de stream gerencia um fluxo de ondas e expõe a maior parte da funcionalidade do driver de miniporta.

A interface de miniporto, IMiniportWavePci, herda os métodos da interface IMiniport. IMiniportWavePci fornece os seguintes métodos adicionais:

IMiniportWavePci::Init

Inicializa o objeto miniport.

IMiniportWavePci::NewStream

Cria um novo objeto de fluxo.

IMiniportWavePci::Service

Notifica o driver de miniporto de uma solicitação de serviço.

A interface de fluxo, IMiniportWavePciStream, herda os métodos da interface IUnknown . IMiniportWavePciStream fornece os seguintes métodos adicionais:

IMiniportWavePciStream::GetAllocatorFraming

Obtém os parâmetros preferidos de alocação e enquadramento do driver de miniport para o stream de áudio.

IMiniportWavePciStream::GetPosition

Obtém a posição atual do dispositivo no fluxo de ondas.

IMiniportWavePciStream::MappingAvailable

Indica que um novo mapeamento está disponível no driver de porta.

IMiniportWavePciStream::NormalizePhysicalPosition

Converte um valor de posição de buffer físico em um valor baseado em tempo.

IMiniportWavePciStream::RevokeMappings

Revoga mapeamentos emitidos anteriormente.

IMiniportWavePciStream::Service

Notifica o objeto de fluxo de uma solicitação de serviço.

IMiniportWavePciStream::SetFormat

Define o formato de dados do fluxo de ondas.

IMiniportWavePciStream::SetState

Define o estado do fluxo de ondas.