Можно ли использовать winusb для одновременной связи с несколькими одинаковыми USB-устройствами?

Я использую несколько идентичных устройств, и я хотел бы иметь возможность читать с них одновременно. Таким образом, ID продукта и поставщика одинаковы для всех устройств. Мне интересно, смогу ли я читать с них параллельно.

На мой взгляд, я думаю, что это должно быть возможно, потому что для конкретного пути устройства вы создаете уникальный дескриптор winusb, а также уникальный дескриптор createfile.

Однако на практике я понял, что это не сработало. Я не использовал перекрывающуюся структуру, поскольку я был полностью отделен из-за уникальных дескрипторов createfile. Данные, считанные с устройств, не читаются параллельно, вместо этого они просто читают первое устройство, второе, третье и т. Д.

Я написал код на C ++, и я хотел бы получить несколько советов, спасибо.
Будет ли использование перекрытой структуры решить проблему?
Или winusb не предназначен для такого использования?

Вот ссылка на мой код,
https://drive.google.com/drive/folders/1qvcGwNLxzJ0oRrFZbtyZ7g0zCU0XUG1n?usp=sharing

-2

Решение

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

Суть перекрывающегося ввода-вывода заключается в том, что вы можете очень быстро запустить несколько запросов из одного потока, и операционная система будет работать с ними параллельно, а затем вы сможете запросить, чтобы убедиться, что они были выполнены.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]