Chaînes d’ID de point de terminaison

Dans Windows Vista, le système génère des chaînes d’ID de point de terminaison pour identifier les périphériques de point de terminaison audio dans le système. Une chaîne d’ID de point de terminaison est une chaîne de caractères larges terminée par null. La chaîne d’ID de point de terminaison d’un appareil de point de terminaison audio particulier identifie de manière unique l’appareil parmi tous les appareils de point de terminaison audio du système.

Si un système contient deux ou plusieurs périphériques d’adaptateur audio identiques, les appareils de point de terminaison audio correspondants auront des noms conviviaux identiques, mais chaque appareil de point de terminaison aura une chaîne d’ID de point de terminaison unique. Pour plus d’informations sur l’obtention du nom convivial d’un appareil de point de terminaison, consultez Propriétés de l’appareil.

Après avoir obtenu une interface IMMDevice instance pour un appareil de point de terminaison audio, un client peut appeler la méthode IMMDevice::GetId pour obtenir la chaîne d’ID de point de terminaison pour l’appareil. Un client peut utiliser la chaîne d’ID de point de terminaison pour créer une instance de l’appareil de point de terminaison audio ultérieurement ou dans un autre processus en appelant la méthode IMMDeviceEnumerator::GetDevice.

Un client peut organiser la réception d’une notification lorsque le status d’un appareil de point de terminaison audio change. Pour recevoir des notifications, le client implémente une interface IMMNotificationClient et inscrit cette interface auprès de l’API MMDevice. Lorsque la status d’un appareil de point de terminaison change, l’API MMDevice appelle la méthode appropriée dans l’interface EDataFlow du client. L’un des paramètres d’entrée de la méthode est la chaîne d’ID de point de terminaison qui identifie l’appareil de point de terminaison dont le status a changé. Pour plus d’informations sur EDataFlow, consultez Événements d’appareil.

Les API audio héritées telles que DirectSound et les fonctions multimédias Windows ont leurs propres interfaces pour énumérer et identifier les périphériques audio. Dans Windows Vista, ces interfaces ont été étendues pour fournir les chaînes d’ID de point de terminaison qui identifient les appareils de point de terminaison qui sous-tendent les abstractions d’appareil présentées par les API.

Pendant l’énumération d’appareil DirectSound, DirectSound fournit la chaîne d’ID de point de terminaison pour chaque appareil qu’il énumère. Pour plus d’informations, consultez Événements audio pour les applications audio héritées.

Pour obtenir la chaîne d’ID de point de terminaison d’un appareil waveform hérité, utilisez la fonction waveOutMessage ou waveInMessage pour envoyer un message DRV_QUERYFUNCTIONINSTANCEID au pilote de périphérique waveform. Pour obtenir un exemple de code montrant l’utilisation de ce message, consultez Rôles d’appareil pour les applications multimédia Windows héritées.

Pour plus d’informations sur l’utilisation des fonctionnalités des API audio de base pour améliorer les applications qui utilisent des API audio héritées, consultez Interopérabilité avec les API audio héritées.

Les clients doivent traiter le contenu de la chaîne d’ID de point de terminaison comme opaque. Autrement dit, les clients ne doivent pas tenter d’analyser le contenu de la chaîne pour obtenir des informations sur l’appareil. La raison en est que le format de chaîne n’est pas défini et peut changer d’une implémentation du module système d’API MMDevice à l’autre.

La durée de vie d’une chaîne d’ID de point de terminaison est liée à l’installation de l’appareil. La chaîne d’ID de point de terminaison d’un appareil change si l’utilisateur met à niveau le pilote de périphérique ou si l’utilisateur désinstalle l’appareil et l’installe à nouveau. Toutefois, la chaîne d’ID de point de terminaison reste inchangée entre les redémarrages du système, et la chaîne d’ID de point de terminaison d’un périphérique audio USB reste inchangée si l’utilisateur débranche l’appareil et le reconnecte.

Appareils de point de terminaison audio