Compartilhar via


Driver de Miniporto 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 onda ou de captura de onda que tem hardware DMA de dispersão/coleta que pode transferir dados de áudio de ou para 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 miniporte executa a inicialização do driver de miniporto, a enumeração de canal e a criação de fluxo.

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

A interface de miniport, IMiniportWavePci, herda os métodos na 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 preferenciais de enquadramento de alocador do driver de miniport para o fluxo de ondas.

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.