Поделиться через


функция DRVM_MAPPER_PREFERRED_GET

Сообщение DRVM_MAPPER_PREFERRED_GET получает идентификатор предпочитаемого звукового устройства.

Синтаксис

DWORD  xxxMessage(
   UINT      uDeviceID,
   UINT      uMsg,
   DWORD_PTR dwParam1,
   DWORD_PTR dwParam2
);

Параметры

  • uDeviceID
    Указывает идентификатор целевого устройства. Дополнительные сведения о приведения этого значения для использования с соответствующей функцией см. в следующем разделе Примечания .

  • uMsg
    Вызывающий объект задает этому параметру значение DRVM_MAPPER_PREFERRED_GET при вызове xxxMessage для обработки этого сообщения устройства.

  • dwParam1
    Указатель на идентификатор устройства. Этот параметр указывает на переменную DWORD, в которую функция записывает идентификатор текущего предпочтительного устройства. Функция записывает значение (-1), если нет устройства, которое считается предпочтительным.

  • dwParam2
    Указатель на флаги состояния. Этот параметр указывает на переменную DWORD, в которую функция записывает флаги состояния устройства. В настоящее время определен только один бит флага (только для вызовов waveInMessage и waveOutMessage ): DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY. Дополнительные сведения см. в разделе "Примечания".

Возвращаемое значение

Функция xxxMessage возвращает MMSYSERR_NOERROR, если сообщение успешно обработано. В противном случае возвращается соответствующий код ошибки.

Комментарии

Это сообщение допустимо только для функций waveInMessage, waveOutMessage и midiOutMessage . Когда вызывающий объект вызывает эти функции с сообщением DRVM_MAPPER_PREFERRED_GET, вызывающий объект должен сначала указать идентификатор устройства как WAVE_MAPPER (для waveInMessage или waveOutMessage) или MIDI_MAPPER (для midiOutMessage), а затем привести это значение к соответствующему типу дескриптора. Для функций waveInMessage, waveOutMessage или midiOutMessage вызывающий объект должен привести идентификатор устройства к типу дескриптора HWAVEIN, HWAVEOUT или HMIDIOUT соответственно. Обратите внимание, что если вызывающий объект предоставляет допустимый дескриптор вместо идентификатора устройства для этого параметра, функция завершается ошибкой и возвращает код ошибки MMSYSERR_NOSUPPORT.

Система перехватывает это сообщение и возвращает соответствующее значение, не отправляя сообщение драйверу устройства. Общие сведения о функциях xxxMessage , перехваченных системой, см. в разделе Сообщения устройства, перехваченные системой.

Это сообщение позволяет определить, какое устройство предпочтительнее для звуковых функций в целом, в отличие от DRVM_MAPPER_CONSOLEVOICECOM_GET сообщения, которое определяет, какое устройство предпочтительнее для голосовой связи.

Если бит флага DRVM_MAPPER_PREFERRED_FLAGS_PREFERREDONLY задан в расположении DWORD, на которое указывает dwParam2, API waveIn и waveOut используют только текущее предпочтительное устройство и не выполняют поиск других доступных устройств, если предпочитаемое устройство недоступно. Обратите внимание, что функция midiOutMessage не выводит этот флаг . API midiOut всегда использует только предпочтительное устройство. Флаг, который выводится вызовом waveInMessage или waveOutMessage , применяется к предпочтительному устройству для API waveIn и waveOut , независимо от того, выполняется ли вызов waveInMessage или waveOutMessage.

Функции xxxMessage принимают это значение вместо допустимого дескриптора устройства, чтобы позволить приложению определить идентификатор устройства по умолчанию, не открывая устройство. Дополнительные сведения см. в разделе Доступ к идентификатору предпочтительного устройства.

Требования

Целевая платформа

Персональный компьютер

Версия

Поддерживается в операционных системах Microsoft Windows Me и Windows 2000 и более поздних версий.

Заголовок

Mmddk.h (включая Mmddk.h)

См. также раздел

Доступ к идентификатору предпочтительного устройства

DRVM_MAPPER_CONSOLEVOICECOM_GET

midiInMessage

midiOutMessage

mixerMessage

Предпочтительный идентификатор устройства Voice-Communications

Сообщения, перехваченные системой

waveInMessage

waveOutMessage