MÉTHODE IMMNotificationClient::OnDefaultDeviceChanged (mmdeviceapi.h)
La méthode OnDefaultDeviceChanged avertit le client que l’appareil de point de terminaison audio par défaut pour un rôle d’appareil particulier a changé.
Syntaxe
HRESULT OnDefaultDeviceChanged(
[in] EDataFlow flow,
[in] ERole role,
[in] LPCWSTR pwstrDefaultDeviceId
);
Paramètres
[in] flow
Direction du flux de données de l’appareil de point de terminaison. Ce paramètre est défini sur l’une des valeurs d’énumération EDataFlow suivantes :
eRender
eCapture
La direction du flux de données pour un appareil de rendu est eRender. La direction du flux de données pour un appareil de capture est eCapture.
[in] role
Rôle d’appareil de l’appareil de point de terminaison audio. Ce paramètre est défini sur l’une des valeurs d’énumération ERole suivantes :
eConsole
eMultimedia
Communications électroniques
[in] pwstrDefaultDeviceId
Pointeur vers la chaîne d’ID de point de terminaison qui identifie le périphérique de point de terminaison audio. Ce paramètre pointe vers une chaîne de caractères larges terminée par null contenant l’ID de point de terminaison. La chaîne reste valide pendant la durée de l’appel. Si l’utilisateur a supprimé ou désactivé l’appareil par défaut pour un rôle particulier et qu’aucun autre appareil n’est disponible pour assumer ce rôle, pwstrDefaultDevice a la valeur NULL.
Valeur retournée
Si la méthode réussit, retourne S_OK. En cas d'échec, retourne un code d'erreur.
Notes
Les trois paramètres d’entrée spécifient la direction du flux de données, le rôle d’appareil et la chaîne d’ID de point de terminaison du nouveau périphérique de point de terminaison audio par défaut.
Dans Windows Vista, l’API MMDevice prend en charge les rôles d’appareil, mais pas les programmes d’interface utilisateur fournis par le système. L’interface utilisateur de Windows Vista permet à l’utilisateur de sélectionner un périphérique audio par défaut pour le rendu et un périphérique audio par défaut pour la capture. Lorsque l’utilisateur modifie l’appareil de rendu ou de capture par défaut, le système attribue les trois rôles d’appareil (eConsole, eMultimedia et eCommunications) au nouvel appareil. Ainsi, lorsque l’utilisateur modifie l’appareil de rendu ou de capture par défaut, le système appelle la méthode OnDefaultDeviceChanged du client trois fois, une fois pour chacun des trois rôles d’appareil.
Dans une version ultérieure de Windows, l’interface utilisateur peut permettre à l’utilisateur d’attribuer des rôles individuels à différents appareils. Dans ce cas, si l’utilisateur modifie l’attribution d’un ou deux rôles d’appareil à un nouvel appareil de rendu ou de capture, le système n’appelle la méthode OnDefaultDeviceChanged du client qu’une ou deux fois (c’est-à-dire un appel par rôle modifié). Selon la façon dont la méthode OnDefaultDeviceChanged répond aux changements de rôle, le comportement d’une application audio développée pour s’exécuter dans Windows Vista peut changer lors de son exécution dans une version ultérieure de Windows. Pour plus d’informations, consultez Rôles d’appareil dans Windows Vista.
Pour obtenir un exemple de code qui implémente la méthode OnDefaultDeviceChanged , consultez Événements d’appareil.
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | mmdeviceapi.h |