Partilhar via


WavePci Miniport Driver

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

Um driver de miniporta WavePci gerencia as funções dependentes de hardware de um dispositivo de renderização ou captura de onda que possui hardware DMA de dispersão/coleta que pode transferir dados de áudio de ou para qualquer local na memória física. Um dispositivo wave que não tem a capacidade de realizar transferências scatter/gather ou que só consegue aceder a regiões restritas na memória física deve usar um driver de miniporta WaveCyclic.

Um driver de miniporta WavePci deve implementar duas interfaces:

  • A interface de miniporta executa a inicialização do driver de miniporta, enumeração de canal 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, 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 stream.

IMiniportWavePci::Serviço

Notifica o controlador de miniporta 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 de enquadramento de alocador preferidos do driver de miniporta para o fluxo de onda.

IMiniportWavePciStream::GetPosition

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

IMiniportWavePciStream::MappingAvailable

Indica que um novo mapeamento está disponível no driver da 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::Serviço

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

IMiniportWavePciStream::SetFormat

Define o formato de dados do fluxo de onda.

IMiniportWavePciStream::SetState

Define o estado do fluxo de onda.