Cadenas de identificador de punto de conexión

En Windows Vista, el sistema genera cadenas de identificador de punto de conexión para identificar los dispositivos de punto de conexión de audio en el sistema. Una cadena de identificador de punto de conexión es una cadena de caracteres anchos terminada en NULL. La cadena de identificador de punto de conexión de un dispositivo de punto de conexión de audio determinado identifica de forma única el dispositivo entre todos los dispositivos de punto de conexión de audio del sistema.

Si un sistema contiene dos o más dispositivos de adaptador de audio idénticos, los dispositivos de punto de conexión de audio correspondientes tendrán nombres descriptivos idénticos, pero cada dispositivo de punto de conexión tendrá una cadena de identificador de punto de conexión única. Para obtener más información sobre cómo obtener el nombre descriptivo de un dispositivo de punto de conexión, consulte Propiedades del dispositivo.

Después de obtener una instancia de interfaz IMMDevice para un dispositivo de punto de conexión de audio, un cliente puede llamar al método IMMDevice::GetId para obtener la cadena de identificador de punto de conexión del dispositivo. Un cliente puede usar la cadena de identificador de punto de conexión para crear una instancia del dispositivo de punto de conexión de audio más adelante o en un proceso diferente llamando al método IMMDeviceEnumerator::GetDevice .

Un cliente puede organizar la recepción de una notificación cuando cambia el estado de cualquier dispositivo de punto de conexión de audio. Para recibir notificaciones, el cliente implementa una interfaz IMMNotificationClient y registra esa interfaz con la API MMDevice. Cuando cambia el estado de un dispositivo de punto de conexión, la API MMDevice llama al método adecuado en la interfaz EDataFlow del cliente. Uno de los parámetros de entrada para el método es la cadena de identificador de punto de conexión que identifica el dispositivo de punto de conexión cuyo estado ha cambiado. Para obtener más información sobre EDataFlow, consulte Eventos de dispositivo.

Las API de audio heredadas, como DirectSound y las funciones multimedia de Windows, tienen sus propias interfaces para enumerar e identificar dispositivos de audio. En Windows Vista, estas interfaces se han ampliado para proporcionar las cadenas de identificador de punto de conexión que identifican los dispositivos de punto de conexión que subyacen a las abstracciones de dispositivo presentadas por las API.

Durante la enumeración de dispositivos DirectSound, DirectSound proporciona la cadena de identificador de punto de conexión para cada dispositivo que enumera. Para obtener más información, vea Eventos de audio para aplicaciones de audio heredadas.

Para obtener la cadena de identificador de punto de conexión de un dispositivo de forma de onda heredada, use la función waveOutMessage o waveInMessage para enviar un mensaje de DRV_QUERYFUNCTIONINSTANCEID al controlador del dispositivo de forma de onda. Para ver un ejemplo de código que muestra el uso de este mensaje, vea Roles de dispositivo para aplicaciones multimedia de Windows heredadas.

Para obtener más información sobre el uso de las funcionalidades de las API de audio principales para mejorar las aplicaciones que usan api de audio heredadas, consulte Interoperabilidad con las API de audio heredadas.

Los clientes deben tratar el contenido de la cadena de identificador de punto de conexión como opaco. Es decir, los clientes no deben intentar analizar el contenido de la cadena para obtener información sobre el dispositivo. El motivo es que el formato de cadena no está definido y podría cambiar de una implementación del módulo del sistema de API MMDevice a la siguiente.

La duración de una cadena de identificador de punto de conexión está vinculada a la instalación del dispositivo. La cadena de identificador de punto de conexión de un dispositivo cambia si el usuario actualiza el controlador de dispositivo o si el usuario desinstala el dispositivo e lo instala de nuevo. Sin embargo, la cadena de identificador de punto de conexión permanece sin cambios en los reinicios del sistema y la cadena de identificador de punto de conexión de un dispositivo de audio USB permanece sin cambios si el usuario desconecta el dispositivo y lo conecta de nuevo.

Dispositivos de punto de conexión de audio