Задача такая: есть приложение, которое должно общаться с USB устройствами с помощью стандартных USB запросов. Примерно я представляю это себе следующим образом: 1. Приложение работает с устройствами через драйвер, который загружается с помощью Service Control Manager'а. 2. Драйвер получает запросы от приложения через DeviceIoControl(), с указанием местоположения устройства к которому этот запрос относится. А теперь собственно сами траблы: 1. В драйвере по DeviceIoControl'у мы инициализируем URB и передаем его с помощью IoCallDriver(), но кому? Можно получить объект устройства с помощью IoGetDeviceObjectPointer(), но какой? хаб? 2. Как на время работы приложения безопасно отрубить стандартный драйвер устройства? Заранее благодарен за помощь. PS: Примеры кода не помешают
Все бы хорошо, но эта статья подходит для написания конкретного драйвера для конкретного устройства. Так что вопрос остается открытым.