Compartilhar via


DeviceTopology API

Consulte o exemplo de DMO de captura de voz de alta qualidade da Microsoft.

A API DeviceTopology fornece aos aplicativos cliente a capacidade de percorrer as topologias de hardware funcionais de dispositivos de renderização e captura de áudio. Por meio das interfaces e métodos na API DeviceTopology, os clientes podem descobrir as subunidades funcionais (por exemplo, controle de volume) que estão ao longo dos caminhos de dados que levam de e para dispositivos de ponto de extremidade de áudio. Os clientes podem percorrer as topologias internas de dispositivos de adaptador de áudio e dispositivos de ponto de extremidade de áudio e percorrer as conexões que vinculam um dispositivo a outro. Para obter mais informações, consulte topologias de dispositivo.

O arquivo de cabeçalho Devicetopology.h define as interfaces na API DeviceTopology.

Para acessar as interfaces da API devicetopology, um cliente primeiro obtém uma referência à interface IDeviceTopology para um dispositivo de ponto de extremidade de áudio seguindo estas etapas:

  1. Usando uma das técnicas descritas em de Interface IMMDevice, obtenha uma referência à interface IMMDevice para um dispositivo de ponto de extremidade de áudio.
  2. Chame o método IMMDevice::Activate com o parâmetro iid definido como IID_IDeviceTopology REFIID.

O cliente pode obter referências para as outras interfaces na API devicetopology chamando os métodos na interface IDeviceTopology.

A API DeviceTopology implementa as interfaces a seguir.

Interface Descrição
IAudioAutoGainControl Fornece acesso a um AGC (controle de ganho automático de hardware).
IAudioBass Fornece acesso a um controle de nível de baixo de hardware.
IAudioChannelConfig Fornece acesso a um controle de configuração de canal de hardware.
IAudioInputSelector Fornece acesso a um controle multiplexer de hardware (seletor de entrada).
IAudioLoudness Fornece acesso a um controle de compensação "loudness".
IAudioMidrange Fornece acesso a um controle de nível médio de hardware.
IAudioMute Fornece acesso a um controle de mudo de hardware.
IAudioOutputSelector Fornece acesso a um controle de demultiplexer de hardware (seletor de saída).
IAudioPeakMeter Fornece acesso a um controle de medidor de pico de hardware.
IAudioTreble Fornece acesso a um controle de nível agudo de hardware.
IAudioVolumeLevel Fornece acesso a um controle de volume de hardware.
IConnector Representa um ponto de conexão entre componentes.
IControlInterface Representa uma interface de controle em uma parte (subunidade ou conector).
IDeviceSpecificProperty Representa uma propriedade específica do dispositivo de um conector ou subunidade.
IDeviceTopology Fornece acesso à topologia de um dispositivo de áudio.
IKsFormatSupport Fornece informações sobre os formatos de dados de áudio compatíveis com uma conexão de E/S configurada por software (normalmente um canal de DMA) entre o dispositivo de áudio e a memória do sistema.
IKsJackDescription Fornece informações sobre as tomadas ou conectores internos que fornecem uma conexão física entre um dispositivo em um adaptador de áudio e um dispositivo de ponto de extremidade externo ou interno (por exemplo, um microfone ou cd player).
IPart Representa uma parte (conector ou subunidade) de uma topologia de dispositivo.
IPartsList Representa uma lista de partes (conectores e subunidades).
IPerChannelDbLevel Representa uma interface de controle de subunidade genérica que fornece controle por canal sobre o nível de volume, em decibéis, de um fluxo de áudio ou de uma banda de frequência em um fluxo de áudio.
ISubunit Representa uma subunidade de hardware (por exemplo, um controle de nível de volume) que está no caminho de dados entre um cliente e um dispositivo de ponto de extremidade de áudio.

 

Os clientes da API DeviceTopology que exigem a notificação de eventos de alteração de controle em conectores e subunidades devem implementar a interface a seguir.

Interface Descrição
IControlChangeNotify Fornece notificações quando o status de uma parte (conector ou subunidade) é alterado.

 

topologias de dispositivo

de referência de programação