В том же разделе этой страницы есть программа HidTest с исходным кодом.Эта программа, очевидно, использует код контроллера HID, найденный по ссылке, называемой «Набор компонентов контроллера HID для Delphi».Возможно, это может дать вам то, что вы ищете?(По крайней мере, если вы можете выбрать соответствующие части из всего этого кода Delphi.)
Я недавно исследовал точные вещи, но у меня не было времени, чтобы на самом деле попробовать какие-либооб этом еще.То, что здесь следует, немного умозрительно.
Я считаю, что вам нужно открыть соединение с устройством как USB-устройством.Функции на уровне HID не дают нужного описания. Здесь - это другой SO вопрос о получении VendorID и ProductID с USB-устройства.Я думаю, что вы могли бы использовать очень похожую технику для чтения USB_DEVICE_DESCRIPTOR
и, таким образом, получить доступ к полю iProduct
, которое, я считаю, должно быть описанием, которое вы хотите.
У меня естьнаткнуться на программу под названием USBView, которая, по-видимому, осуществляет такую связь (между прочим) с USB-устройствами.Я нашел скомпилированную версию этого здесь .Однако источник предположительно включен в комплект для разработки драйверов Windows.Вероятно, это источник C или C ++, но у меня еще не было времени загрузить DDK от Microsoft и подтвердить, что там на самом деле.
РЕДАКТИРОВАТЬ:
У меня было времякопаться в этом глубже.И то, что вы узнали о HidD_GetProductString
, тоже было полезно.Я также нашел эту страницу примеров от Intel.Программа «Показать HID» показывает один способ использования этой функции.
На основании документации этой функции и этого примера у меня создается впечатление, что она читает то же самое iProduct
с устройства, очевидно, делая это.от уровня HID вместо уровня USB.Или что-то типа того.Все, что я точно знаю, это то, что он работает в моей собственной тестовой программе.