Есть usb-устройство. У него есть свой pnp-драйвер, который принимает на входе блок данных, а затем обменивается с железкой блоками данных по 8 байт. Сам обмен идет через IoBuildDeviceIoControlRequest / IofCallDriver. Вопрос такой - как можно зная vendorID/productID железки поработать с ней с ринг3 в обход этого драйвера ?
а мне тоже интересно узнать про работу с usb (извините, не знаю как еще можно получать уведомления по е-майл)
в NTDDK входят примеры (см. папку \src\wdm\usb), позволяющие шпионить за usb устройствами и работать с ними напрямую
смотрел я примеры. Они свой драйвер пишут и потом в его пайпы пишут-читают. У меня же пайпов нету. Устройство по GUID я открываю, а вот читать-писать - облом - 0 байт возвращает. Да и потом - по GUID я открою тот драйвер который я ковырял а мне интересно работать в обход его. В общем хотелось бы увидеть несколько строчек - открытие хендла, запись блока, чтение блока в/из усб-устройства по vendor/device IDs
посмотри это http://libusb-win32.sourceforge.net/ и http://www.lvr.com/usb.htm или в гугле поищи read write usb hid api может что и полезного выскочит