Partilhar via


Driver de Miniporto 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 de captura de onda. Um dispositivo de áudio amigável waveRT tem hardware de 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 miniporto, a enumeração de canal e a criação de fluxo.

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

Para obter informações sobre como criar um driver de miniporta WaveRT que complementa o driver de porta WaveRT, consulte o tópico Developing a WaveRT Miniport Driver .

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 do 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 de reprodução ou registro atual como um deslocamento de bytes do início do buffer.

IMiniportWaveRTStream::GetPositionRegister

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

IMiniportWaveRTStream::SetFormat

Define o formato de dados do fluxo de ondas.

IMiniportWaveRTStream::SetState

Altera o estado de transporte do fluxo de áudio.