Максим Бабицкий
Гость
|
 |
« : 05-12-2003 10:40 »  |
|
Мне необходимо под Win 98, Me, 2000, XP определять момент подключения и отключения конкретных USB-устройств (известны VID&PID и т.п.) Конкретно - USB-видеокамера и спецконтроллер, подключаемый к USB на базе FTDI-чипа.
С помощью RegisterDeviceNotification и обработки WM_DEVICECHANGE определяю момент подключения/отключения видеокамеры, используя в структуре DEV_BROADCAST_HDR dbch_devicetype==DBT_DEVTYP_DEVICEINTERFACE и задавая в структуре DEV_BROADCAST_DEVICEINTERFACE dbcc_classguid == AM_KSCAPTURE и после прихода события по имени определяя конкретное устр-во.
Как сделать то же самое, но не только для устр-в захвата, а для любого конкретного USB-устройства? Пытался использовать DBT_DEVTYP_OEM, но не получается - не понятно, что задавать в поле dbco_identifier в структуре DEV_BROADCAST_OEM
И второй вопрос, заодно - как определить подключено конкретное устрой-во сейчас или нет? С енумерацией устройств - те же проблемы не понятно как правильно задать класс устройства и т.п. не перебирать же все устр-ва в системе?
Помогите! буду очень благодарен Перерыл уже весь интенет - нигде ничего нет!
|