Прописываю в устройстве следующие строки 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, то дайте пожалуйста ссылку или прикрепите его к ответу.
|