Dmitriy_V 0 6 ноября, 2006 Опубликовано 6 ноября, 2006 · Жалоба Прописываю в устройстве следующие строки code const BYTE USB_MfrStr[] = {0x1E,0x03,'D',0,'m',0,'i',0,'t',0,'r',0,'i',0,'y',0,' ',0,'D',0,'e',0,'v',0,'i',0,'c',0,'e',0}; code const BYTE USB_ProductStr[] = {0x1E,0x03,'U',0,'S',0,'B',0,' ',0,'M',0,'a',0,'k',0,'e',0,'t',0,' ',0,'P',0,'l',0,'a',0,'t',0}; code const BYTE USB_SerialStr[] = {0x0A,0x03,'1',0,'1',0,'1',0,'1',0}; USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,US B_PwAttributes,USB_bcdDevice); При подключении устройства на короткий момент выскакивает USB_ProductStr[], но после установке драйвера при вызове следующей функции: SI_GetProductString(i,@S,0x01); выдается описание устройства как USBXpress Device которое забито в драйвере. SI_GetProductString(i,@S,0x00); нормально выводит тот серийный номер который я забиваю в устройство. Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как? Если вдруг у кого-нибудь есть полное описание функции SI_DeviceIOControl, то дайте пожалуйста ссылку или прикрепите его к ответу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Седой 0 8 ноября, 2006 Опубликовано 8 ноября, 2006 · Жалоба При подключении устройства на короткий момент выскакивает USB_ProductStr[], но после установке драйвера при вызове следующей функции: SI_GetProductString(i,@S,0x01); выдается описание устройства как USBXpress Device которое забито в драйвере. SI_GetProductString(i,@S,0x00); нормально выводит тот серийный номер который я забиваю в устройство. Так и должно быть, потому что скорее всего данная функция вообще не обращается к устройству, а вызывает фунции типа SetupDiXXX. 0х01 - значение флага SI_RETURN_DESCRIPTION, и функция возвращает описание устройства, указанное в реестре. Чтобы изменить на нужное вам, отредактируйте INF файл [strings] .......... DESCRIPTION="USBXpress Device" FRIENDLYNAME="USBXpress Device" .......... Одно значение из этих двух параметров соответствует указанному флагу. Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как? Можно. Пользуйтесь SetupApi. Возможно даже прочитать все дескрипторы вашего устройства, см. пример diview.exe из DDK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dmitriy_V 0 27 ноября, 2006 Опубликовано 27 ноября, 2006 · Жалоба Можно ли считать описания устройства из программы не исправляя драйвер, и если можно то как? Можно. Пользуйтесь SetupApi. Возможно даже прочитать все дескрипторы вашего устройства, см. пример diview.exe из DDK. Не могу найти. Если можно дайте прямую ссылку на пример. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться