Compartir a través de


Acerca de MMDevice API

La API de dispositivos multimedia de Windows (MMDevice) permite a los clientes de audio detectar dispositivos de punto de conexión de audio, determinar sus funcionalidades y crear instancias de controlador para esos dispositivos.

El archivo de encabezado Mmdeviceapi.h define las interfaces de la API MMDevice.

La API MMDevice consta de varias interfaces. La primera de ellas es la interfaz IMMDeviceEnumerator . Para acceder a las interfaces de la API MMDevice, un cliente obtiene una referencia a la interfaz IMMDeviceEnumerator de un objeto de enumerador de dispositivos mediante una llamada a la función CoCreateInstance , como se muestra en el siguiente fragmento de código:

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

En el fragmento de código anterior, CLSID_MMDeviceEnumerator y IID_IMMDeviceEnumerator son los valores GUID que se adjuntan como atributos al objeto de clase MMDeviceEnumerator y a la interfaz IMMDeviceEnumerator . La llamada CoCreateInstance pasa estos valores por referencia. La variable hr es de tipo HRESULT y la variable pEnumerator es un puntero a la interfaz IMMDeviceEnumerator de un objeto enumerador de dispositivos. IMMDeviceEnumerator proporciona métodos para enumerar dispositivos de punto de conexión de audio. Para obtener información sobre el operador __uuidof , la función CoCreateInstance y las constantes CLSCTX_Xxx , consulte la documentación de Windows SDK.

A través de la interfaz IMMDeviceEnumerator , el cliente puede obtener referencias a las demás interfaces de la API MMDevice. La API MMDevice implementa las siguientes interfaces.

Interfaz Descripción
IMMDevice Representa un dispositivo de audio.
IMMDeviceCollection Representa una colección de dispositivos de audio.
IMMDeviceEnumerator Proporciona métodos para enumerar dispositivos de audio.
IMMEndpoint Representa un dispositivo de punto de conexión de audio.

 

Además, los clientes de la API MMDevice que requieren la notificación de cambios de estado en los dispositivos de punto de conexión de audio deben implementar la siguiente interfaz.

Interfaz Descripción
IMMNotificationClient Proporciona notificaciones cuando se agrega o quita un dispositivo de punto de conexión de audio, cuando cambia el estado o las propiedades de un dispositivo, o cuando se produce un cambio en el rol predeterminado asignado a un dispositivo.

 

Dispositivos de punto de conexión de audio

Referencia de programación