Доступ к идентификатору предпочтительного устройства
Мультимедийные функции Windows waveInMessage, waveOutMessage и midiOutMessage могут получить идентификатор предпочтительного устройства. Эти три функции получают идентификаторы предпочтительных устройств для волнового ввода, вывода волн и вывода MIDI соответственно. Эта информация полезна для приложений, которые, например, позволяют пользователям выбирать устройство для открытия из списка из двух или более устройств. Такое приложение обычно должно указать, какое из устройств в списке является предпочтительным.
Предпочтительное устройство — это устройство, выбранное пользователем с помощью панели управления мультимедиа mmsys.cpl. Если приложение windows multimedia или DirectSound не указывает устройство явным образом, предпочтительное устройство выбирается по умолчанию.
Чтобы получить идентификатор текущего предпочтительного звукового устройства, приложение вызывает функцию xxxMessage с параметром сообщения, равным константе DRVM_MAPPER_PREFERRED_GET.
При вызове функции waveInMessage, waveOutMessage или midiOutMessage с сообщением DRVM_MAPPER_PREFERRED_GET укажите значение дескриптора устройства как WAVE_MAPPER (для waveInMessage или waveOutMessage) или MIDI_MAPPER (для midiOutMessage) и приведите это значение к соответствующему типу дескриптора: HWAVEIN, HWAVEOUT или HMIDIOUT. Функции xxxMessage принимают это значение вместо допустимого дескриптора устройства, чтобы приложение удостоверялось в запросе идентификатора устройства по умолчанию, не открывая устройство. Дополнительные сведения о функциях xxxMessage см. в разделе Системные перехватываемые сообщения устройств.
Сообщение DRVM_MAPPER_PREFERRED_GET перехватывается сопоставителями для целевого устройства (waveIn, waveOut или midiOut). Сведения о модулях сопоставления для устройств wave и MIDI см. в документации по Microsoft Windows SDK.