Показать сообщение отдельно
Старый 28.03.2003, 15:05     # 2
Sh
Guest
 
Сообщения: n/a

Знаешь Евгений ... по моим сведениям такой халявы как с COM-портом - с USB не будет... Com порт почему можно открыть c CreateFile("\\\\.\\com1",....... - потому что драйвер стандартный есть который етот линк и предоставляет.
На USB драйвера тоже есть, но только на HID девайсы (и еще на что-то) и собственно на USB BUS... А вообще это выглядит так - на самом нижнем уровне лежит драйвер, который общается непосредственно с шиной, чуть повыше него - ТВОЙ ДРАВЕР который принимает запросы из пользовательского приложения и формирует запрос (URB) нижележашему драйверу на передачу, конфигурацию или чего еще там тебе надо. URB отправляется туда через IRP и никак иначе - поетому обычное USERMODE приложение работать напрямую не сможет.
Вывод: пишем свой USB драйвер (да, да - не надо делать такое лицо), который и предоставит интерфейс для твоего девайса. И тогда ты сможешь получить Handle от своего драйвера.
Еще одна ложка дегтя - по-DDKшному драйвер должен быть еще и Plug'n'Play и интерфейс создавать не через IoCreateSymbolicLink а через IoRegisterDeviceInterface. Почему "по-DDKшному " - я сейчас пытаюсь сделать ето по другому хотя в DDK написано что должно быть так.