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:
Inicializa o objeto miniport.
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.