Как подключиться к устройству libusb с помощью символической ссылки?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как подключиться к устройству libusb с помощью символической ссылки?

Сообщение Anonymous »


У меня есть устройство потокового видео, к которому я обращаюсь с помощью Microsoft Media Foundation. Он имеет дополнительную функциональность при использовании объемных данных. Я хочу подключиться к нему с помощью libusb. Моя проблема в том, что мне нужно подключиться точно к тому же устройству, что и при использовании IMFMediaSource. Подключая два одинаковых устройства, я не могу найти способ их разделить. VID и PID одинаковы. Единственное, что у меня есть от MF, это символическая ссылка: \\?\usb#vid_----&pid_----&mi_00#8&20ba1d94&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (удалены vid и pid). С помощью libusb, используя дескриптор устройства, я могу прочитать Serial: $Rev:0001_CID:0009011D01502130_SN:76543210$. На подключенных устройствах они разные, но проблема в том, что я не могу найти способ проверить или соединить эти две строки, чтобы убедиться, что это одно и то же устройство. Код, в котором я получаю символическую ссылку:

IMFAttributes* pAttributes = NULL; IMFActivate** ppDevices = NULL; HRESULT hr = EnumerateVideoDevices(pAttributes, ppDevices,availDeviceCount); AvailDevice = новое устройство [availDeviceCount]; // инициализируем пустой возвращаемый массив // заполняем возвращаемый массив устройствами for (int я = 0; я GetAllocatedString(MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, &deviceFriendlyName, &len); Устройство newDevice {i, ToNarrow(deviceFriendlyName), NULL, 0}; // TODO: проверить, что переход с unicode на String ничего не портит (см. ToNarrow, misc.h) // сохраняем для уведомлений об изменении устройства ppDevices->GetAllocatedString(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, &newDevice.g_pwszSymbolicLink, &newDevice.g_cchSymbolicLink); AvailDevice = новоеУстройство; } Вот как я получаю последовательный порт с помощью libusb:
String серийный = LibUsb.getStringDescriptor(handle, descriptor.iSerialNumber());
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как подключиться к устройству libusb с помощью символической ссылки?
    Гость » » в форуме C++
    0 Ответы
    52 Просмотры
    Последнее сообщение Гость
  • Ошибка символической ссылки после обновления одного из наших артефактов.
    Anonymous » » в форуме JAVA
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Xcode: ошибка недопустимой символической ссылки при попытке запустить приложение в симуляторе iOS
    Anonymous » » в форуме IOS
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Можно ли получить положение устройства на USB с помощью libusb?
    Anonymous » » в форуме C++
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Подключиться к устройству Bacnet с помощью Java, используя bacnet4j
    Anonymous » » в форуме JAVA
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»