Squeak.ru - шаблоны программирования

получение подробной информации об устройстве usb midi в windows xp

Функция midiOutGetDevCaps возвращает структуру MIDIOUTCAPS . Мне нужна более конкретная информация при запросе USB-устройства midi в Windows XP, в частности, мне нужна информация, отображаемая в разделе «Местоположение» при открытии соответствующего устройства с помощью диспетчера устройств. Мне нужна эта информация, чтобы программно различать несколько MIDI-интерфейсов, подключенных к компьютеру. Используя midiOutGetDevCaps, я равномерно получаю «USB Audio Device» для каждого интерфейса midi usb, подключенного к компьютеру, поэтому различать интерфейсы невозможно. Что еще хуже, эта строка локализована, поэтому, например, в немецкой Windows вы получите «USB Audiogerät» вместо «USB Audio Device».

29.12.2010

  • Я очень надеюсь, что на это есть ответ. У меня была такая же проблема. Однако я не думаю, что это так. Все аудио и DAW, которые я использовал, имеют ту же проблему ... случайное перечисление устройств с одинаковыми именами. Помните, что MIDI-устройства не имеют встроенного соединения с USB или каким-либо оборудованием. Связывание устройств с аппаратной идеей в любом случае может оказаться неприемлемым, но я не знаю работоспособного решения. 29.12.2010
  • Что вам говорят производители и идентификаторы продуктов? Я думаю, у вас все равно будут проблемы, если к вам подключено 2 одинаковых устройства ... 08.01.2011

Ответы:


1

Думаю, это зависит от того, насколько ты в отчаянии. У меня был собственный опыт работы с USB-устройствами. В моем случае мне нужно было перечислить определенные устройства, связанные с USB-COM-портом. . . независимо от того, подключены ли они к системе в данный момент или нет.

Это проприетарный код компании, извините, я не могу опубликовать его, но поиск всей информации, касающейся устройств, связанных с USB, начинается здесь (Perl):

$hostnamePrefix = "//$hostname/";
my $baseKey = "${hostnamePrefix}HKEY_LOCAL_MACHINE/System/CurrentControlSet/";
my $regVidList = Win32::TieRegistry->new("${baseKey}Enum/USB/", $optionsRef);

Если мне не изменяет память, это довольно простая структура. Я считаю, что вам действительно нужно пройти через два отдельных раздела реестра, чтобы получить все, что вам нужно. . . Если вы достаточно отчаянно пытаетесь это сделать, я буду рад ответить на вопросы, где смогу, но для публикации кода потребуется одобрение нашего юридического отдела. (Не невозможно, но на это потребуются недели.)

Также пока это будет работать на XP. . . Понятия не имею, как это будет работать на Win7. (Я в любом случае не знаю, насколько мне известно, никто еще не пробовал.)

Кодировать это было не так уж плохо (в результате Perl Script занимает около 1000 строк кода, что составляет почти 50% комментариев), но проработка всех взаимосвязей между ключами и особыми случаями заняла несколько дней.

09.01.2011
Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...