Partilhar via


Driver de miniporta WaveRT

O driver de miniporta WaveRT é suportado no Windows Vista e sistemas operacionais Windows posteriores e gerencia as funções dependentes de hardware de um dispositivo de renderização ou captura de onda de áudio. Um dispositivo de áudio compatível com WaveRT tem hardware DMA de dispersão/coleta que pode transferir dados de áudio de ou para qualquer local na memória física.

Um driver de miniporta WaveRT deve implementar duas interfaces:

  • IMiniportWaveRT. Essa interface executa a inicialização do driver de miniporta, enumeração de canal e criação de fluxo.

  • IMiniportWaveRTStream. Essa interface gerencia um fluxo de onda e expõe a maior parte da funcionalidade do driver de miniporta.

Para obter informações sobre como projetar um driver de miniporta WaveRT que complementa o driver de porta WaveRT, consulte o tópico Desenvolvendo um driver de miniporta WaveRT .

IMiniportWaveRT

A interface IMiniportWaveRT fornece os seguintes métodos:

IMiniportWaveRT::Init

Inicializa o objeto miniport.

IMiniportWaveRT::NewStream

Cria um novo objeto stream.

IMiniportWaveRT::GetDeviceDescription

Retorna um ponteiro para uma estrutura DEVICE_DESCRIPTION que descreve o dispositivo.

IMiniportWaveRTStream

A interface IMiniportWaveRTStream herda os métodos da interface IUnknown . IMiniportWaveRTStream fornece os seguintes métodos adicionais:

IMiniportWaveRTStream::AllocateAudioBuffer Aloca um buffer cíclico para dados de áudio.

IMiniportWaveRTStream::FreeAudioBuffer

Libera um buffer de áudio alocado anteriormente com uma chamada para IMiniportWaveRTStream::AllocateAudioBuffer.

IMiniportWaveRTStream::GetClockRegister

Obtém as informações que o controlador da porta deve ter para expor o registo do relógio ao subsistema de áudio e aos seus clientes.

IMiniportWaveRTStream::GetHWLatency

Recupera informações sobre fontes de latência de fluxo no hardware de áudio.

IMiniportWaveRTStream::GetPosition

Recupera a posição atual de reprodução ou gravação como um deslocamento em bytes a partir do início do buffer.

IMiniportWaveRTStream::GetPositionRegister

Recupera as informações que o driver de porta deve ter para expor o registo de posição ao subsistema de áudio e aos seus clientes.

IMiniportWaveRTStream::SetFormat

Define o formato de dados do fluxo de onda.

IMiniportWaveRTStream::SetState

Altera o estado de transporte do fluxo de áudio.