Как реализовать множественный одновременный доступ к приложениям с WinUsb - PullRequest
1 голос
/ 02 ноября 2010

Мы портируем наши USB-устройства для использования универсального WinUsb. Тем не менее, WinUsb не поддерживает одновременное использование нескольких приложений на одном устройстве (одинаковые VID и PID). Я хотел знать, есть ли способ реализовать этот параллельный доступ с помощью WinUsb? Я читал о драйверах и услугах фильтров. 1. Я не хочу использовать драйвер фильтра, потому что, как я понимаю, это должно пройти WHQL, и я скорее не пойду по этому пути. 2. Что касается службы Windows: как именно я должен это реализовать? должна ли служба получать все вызовы WinUsb, и если другое приложение пытается получить доступ к тому же устройству, оно закрывает соединение с первым приложением, открывает новое соединение и снова возвращается?

Является ли услуга правильным правильным решением в этом случае? Есть ли другой способ реализовать решение, отличное от того, что я написал?

Спасибо.

1 Ответ

0 голосов
/ 02 ноября 2010

Драйвер фильтра не должен проходить WHQL. Вам нужно только подписать файл каталога, необходимый для пакета драйвера. Для этого требуется только подтверждение подписи кода от проверки / .... Это должно быть хорошей отправной точкой, чтобы узнать это.

Тем не менее, драйвер ядра может быть сложным для разработки. Так что, возможно, COM-сервер будет лучше. Вы реализуете этот общий доступ из службы, позволяя COM-клиентам создавать объекты из вашего сервиса, а затем внедряете какое-то совместное использование / взаимное исключение на вашем COM-сервере.

Серверы COM-exe могут быть написаны относительно быстро.

...