Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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. |
Tópicos relacionados