Device Roles in Windows Vista
The MMDevice API supports device roles through the IMMDeviceEnumerator::GetDefaultAudioEndpoint and IMMNotificationClient::OnDefaultDeviceChanged methods. However, the user interface in Windows Vista does not support assignment of individual roles to different devices. In Windows Vista, the user interface enables the user to select a default audio device for rendering and a default audio device for capture. When the user selects a default rendering or capture device, the system assigns all three device roles (eConsole, eMultimedia, and eCommunications) to that device. Note that a future version of Windows might enable the user to assign roles to individual devices, and that this change might alter the behavior of applications developed to run in Windows Vista. For more information, see IMMDeviceEnumerator::GetDefaultAudioEndpoint and IMMNotificationClient::OnDefaultDeviceChanged.
If you design your application to select audio devices based on their device roles, and if the user interface in a future version of Windows enables users to assign individual roles to different devices, then your application can provide an improved user experience for users when run in that version of Windows.
If you plan to use Windows Vista to test your application, then you can set up a test environment to verify that the application behaves as expected if the user can assign individual device roles to different devices. For more information, send e-mail to firstname.lastname@example.org.