Partilhar via


Sobre a API MMDevice

A API de Dispositivos Multimédia do Windows (MMDevice) permite que os clientes de áudio descubram dispositivos de ponto de extremidade de áudio, determinem as suas capacidades e criem instâncias de driver para esses dispositivos.

O arquivo de cabeçalho Mmdeviceapi.h define as interfaces na API MMDevice.

A API MMDevice consiste em várias interfaces. O primeiro deles é a interface IMMDeviceEnumerator. Para acessar as interfaces na API MMDevice, um cliente obtém uma referência à interface IMMDeviceEnumerator de um objeto de enumerador de dispositivo chamando a funçãoCoCreateInstance, conforme mostrado no fragmento de código a seguir:

  const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
  const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
  hr = CoCreateInstance(
         CLSID_MMDeviceEnumerator, NULL,
         CLSCTX_ALL, IID_IMMDeviceEnumerator,
         (void**)&pEnumerator);

No fragmento de código anterior, CLSID_MMDeviceEnumerator e IID_IMMDeviceEnumerator são os valores GUID anexados como atributos ao objeto de classe MMDeviceEnumerator e à interfaceIMMDeviceEnumerator. A chamada CoCreateInstance passa esses valores por referência. A variável hr é do tipo HRESULTe a variável pEnumerator é um ponteiro para a interface IMMDeviceEnumerator de um objeto enumerador de dispositivos. IMMDeviceEnumerator fornece métodos para enumerar dispositivos de ponto de extremidade de áudio. Para obter informações sobre o operador __uuidof, a função CoCreateInstance e as constantes CLSCTX_Xxx, consulte a documentação do SDK do Windows.

Através do IMMDeviceEnumerator interface, o cliente pode obter referências para as outras interfaces na API MMDevice. A API MMDevice implementa as seguintes interfaces.

Interface Descrição
IMMDevice Representa um dispositivo de áudio.
IMMDeviceCollection Representa uma coleção de dispositivos de áudio.
IMMDeviceEnumerator Fornece métodos para enumerar dispositivos de áudio.
IMMEndpoint Representa um dispositivo terminal de áudio.

 

Além disso, os clientes da API MMDevice que exigem notificação de alterações de status em dispositivos de ponto final de áudio devem implementar a seguinte interface.

Interface Descrição
IMMNotificationClient Fornece notificações quando um dispositivo de ponto de extremidade de áudio é adicionado ou removido, quando o estado ou as propriedades de um dispositivo são alterados ou quando há uma alteração na função padrão atribuída a um dispositivo.

 

dispositivos de terminal de áudio

Referência de Programação