Найдите путь USB-устройства, соответствующий конечной точке аудио windows - PullRequest
0 голосов
/ 04 августа 2020

Цель высокого уровня:

У меня есть несколько USB-аудиоадаптеров CM-108 / CM-119 на машине Windows 10. Помимо того, что они являются аудиоустройствами, они также имеют контакты ввода-вывода общего назначения, которые отображаются как HID. Цель состоит в том, чтобы сопоставить каждый HID с соответствующей конечной точкой аудио.

Успех на данный момент:

Я могу перечислить все HID (включая клавиатуру, мышь, аудиоустройства USB), используя код https://github.com/libusb/hidapi. У всех есть пути к устройствам, которые выглядят следующим образом:

\? \ Hid # vid_0d8c & pid_0008 & mi_03 # 8 & 2ffb1b6b & 0 & 0000 # {4d1e55b2-f16f-11cf-88cb-001111000030}

* 1017c 0000 & amp; {4d1e55b2-f16f-11cf-88cb-001111000030}

Я также могу перечислить все аудиоустройства конечных точек, используя код, похожий на этот пример. https://docs.microsoft.com/en-us/windows/win32/coreaudio/device-properties. Результат выглядит так:

Конечная точка 0: «Цифровой выход Realtek (Realtek High Definition Audio)» ({0.0.0.00000000}. {39ca1996-5824-41 cc -8277-e6ad38b5c602})

Конечная точка 1: «Динамики (5- C -Набор наушников Media USB)» ({0.0.0.00000000}. {4ff05f6d-2c1a-4457-a6a5-6c1f51322516})

Конечная точка 2: " DELL U2410-1 (NVIDIA High Definition Audio) "({0.0.0.00000000}. {6c4533e3-4836-46ee-b4bd-bfebb6b92da1})

Конечная точка 3:" Динамики (Realtek High Definition Audio) "({ 0.0.0.00000000}. {E0492ea2-44f9-45a1-9be2-00f8be273fb1})

Конечная точка 4: «Динамики (C -медийное USB-аудиоустройство)» ({0.0.0.00000000}. {Fcdb2604-2ed9 -4161-bc2 c -41109696b22f})

Отсутствующий фрагмент:

Должна быть возможность найти соответствующий путь USB-устройства для конечной точки аудио, которая быть устройством USB. Я ожидал, что он будет таким же, как один из путей к HID-устройствам, за исключением части & mi_03. Я не могу понять, как это получить.

Или более общий вопрос: как я могу сопоставить соответствующую конечную точку HID и аудио для одного и того же физического USB-устройства?

Спасибо!

...