Compartilhar via


Driver de miniporta WaveRT

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

Um driver de miniporto WaveRT deve implementar duas interfaces:

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

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

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

IMiniportWaveRT

A interface IMiniportWaveRT fornece os seguintes métodos:

IMiniportWaveRT::Init

Inicializa o objeto miniport.

IMiniportWaveRT::NewStream

Cria um novo objeto de fluxo.

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

Recupera as informações que o driver de porta deve ter para expor o registro de relógio ao subsistema de áudio e 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 de bytes desde o início do buffer.

IMiniportWaveRTStream::GetPositionRegister

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

IMiniportWaveRTStream::SetFormat

Define o formato de dados do fluxo de ondas.

IMiniportWaveRTStream::SetState

Altera o estado de transmissão do fluxo de áudio.