сообщения System-Intercepted устройств
Следующие мультимедийные функции Windows предоставляют вызывающим абонентам способ передачи сообщений на звуковые устройства прежних версий:
Некоторые из этих сообщений устройства обрабатываются непосредственно драйвером устройства, а некоторые — системой от имени устройства.
В этом разделе рассматриваются только сообщения, которые перехватываются системой и обрабатываются без передачи в драйвер устройства. Перехваченные системой сообщения могут получить предпочтительное устройство для голосовой связи или общего использования звука. Кроме того, перехваченные системой сообщения могут предоставлять следующие сведения о конкретном устройстве:
Имя интерфейса устройства
Сведения об именах интерфейсов устройств см. в статье Общие сведения об интерфейсах устройств.
Номер Plug and Play devnode устройства
Сведения о devnodes см. в разделе Дерево устройств.
Может ли устройство использоваться сопоставителями
Средство сопоставления выбирает соответствующее устройство, сопоставляя требования приложения с одним из доступных устройств в системе. Дополнительные сведения о модулях сопоставления см. в документации по Microsoft Windows SDK.
Сведения о других типах сообщений устройств см. в документации по Windows SDK.
Функция XxxMessage имеет следующий синтаксис:
DWORD XxxMessage(
<device ID>,
UINT uMsg,
DWORD_PTR dwParam1,
DWORD_PTR dwParam2
);
Первый параметр — это идентификатор устройства. Определение функции auxOutMessage указывает, что этот параметр будет иметь тип UINT, как и ожидалось. Однако в случае waveInMessage, waveOutMessage, midiInMessage, midiOutMessage или mixerMessage вызывающий объект должен привести идентификатор устройства для обработки типа HWAVEIN, HWAVEOUT, HMIDIIN, HMIDIOUT или HMIXER соответственно. Обратите внимание, что если вызывающий объект предоставляет допустимый дескриптор вместо идентификатора устройства для этого параметра, функция завершается ошибкой и возвращает код ошибки MMSYSERR_NOSUPPORT.
Параметр uMsg задает значение сообщения (например, DRV_QUERYDEVICEINTERFACE). Список сообщений, относящихся к драйверу, см. в файле заголовка Mmddk.h.
Значение параметров dwParam1 и dwParam2 зависит от сообщения. Например, для определенного сообщения может потребоваться, чтобы dwParam1 был значением ULONG; Вызывающий объект должен привести это значение к типу DWORD_PTR, чтобы удовлетворить определение функции.
Функция возвращает MMERR_NOERROR, если вызов выполнен успешно, или код состояния ошибки, если это не так.
Дополнительные сведения о функциях XxxMessage см. в документации по Windows SDK.
Файл заголовка Mmddk.h определяет следующие сообщения устройства, перехваченные системой:
Дополнительные сведения см. в разделе Получение имени интерфейса устройства.
Дополнительные сведения см. в разделе Получение имени интерфейса устройства.
Запрашивает номер devnode устройства.
Запрашивает, может ли устройство использоваться сопоставителями.
DRVM_MAPPER_CONSOLEVOICECOM_GET
Дополнительные сведения см. в разделе Предпочитаемый идентификатор устройства Voice-Communications.
Дополнительные сведения см. в разделе Доступ к идентификатору предпочтительного устройства.