Can't get string descriptor..

Hello, All!

Here is a debug trace:


MyFilter: OnQueryDeviceRelations

getting device descriptor… ok.

MyFilter: ---------------------------------------------
MyFilter: idProduct 0x00000000
MyFilter: idVendor 0x0000057b
MyFilter: iManufacturer 0x00000001
MyFilter: iProduct 0x00000002
MyFilter: iSerialNumber 0x00000000
MyFilter: bDeviceClass 0x00000000
MyFilter: bDeviceSubClass 0x00000000
MyFilter: bDeviceProtocol 0x00000000
MyFilter: bMaxPacketSize0 0x00000008
MyFilter: ---------------------------------------------
MyFilter: bInterfaceNumber 0x00000000
MyFilter: bAlternateSetting 0x00000000
MyFilter: bNumEndpoints 0x00000003
MyFilter: bInterfaceClass 0x00000008
MyFilter: bInterfaceSubClass 0x00000004
MyFilter: bInterfaceProtocol 0x00000000
MyFilter: iInterface 0x00000004
MyFilter: ---------------------------------------------
USBHUB.SYS: 'PdoDispatch DeviceExtension ff22acc0 Irp ff213c20
USBHUB.SYS: 'Internal Device Control
USBHUB.SYS: 'USBH_PdoUrbFilter DeviceExtension ff22acc0 Irp ff213c20
USBHUB.SYS: 'PassIrp
'USBPORT.SYS: 'enter USBPORT_Dispatch
'USBPORT.SYS: 'USBPORT_Dispatch IRP = ff213c20, stack = ff213cd8 (func) f 0
'USBPORT.SYS: 'IRP->PDO
'USBPORT.SYS: 'IRP_MJ_NTERNAL_DEVICE_CONTROL
'USBPORT.SYS: 'INTERNAL_DEVICE_CONTROL
'USBPORT.SYS: 'IOCTL_INTERNAL_USB_SUBMIT_URB
'USBPORT.SYS: 'enter USBPORT_ProcessURB
'USBPORT.SYS: 'USBPORT_ProcessURB, function = 0xb
'USBPORT.SYS: ’ enter USBPORT_SCT_GetSetDescriptor
'xMP.SYS: 'Get Endpoint status 0xff7be914.
'USBPORT.SYS: 'IoMapTransfer length = 0x4 log address = 0x2aff6a8
'USBPORT.SYS: '— xfer length 4
'USBPORT.SYS: 'SG[0] length 4 offset 0 phys 2aff6a4
'USBPORT.SYS: '—
'xMP.SYS: 'Control transfer on EP ff7be914
'USBPORT.SYS: 'exit USBPORT_ProcessURB 0x103
'USBPORT.SYS: 'exit USBPORT_Dispatch 0x103
USBHUB.SYS: 'Exit PassIrp
USBHUB.SYS: ’ exit USBH_PdoDispatch Object ff22ac08 Status 103
'xMP.SYS: 'Error on EP ff7be914
'xMP.SYS: 'Error, usbdstatus c0000004’xMP.SYS: 'Complete transfer w/
usbdstatus c0000004
'USBPORT.SYS: '— xfer length 0 (Complete)
'xMP.SYS: 'Set Endpoint 0xff7be914 Status 0.
MyFilter: GetStringDescriptor: fail, status = 0xc0000001
MyFilter: GetStringDescriptor: fail, ustatus = 0xc0000004
MyFilter: Manufacturer:

It happens only with the “Y-E Data USB Floppy” device. With USB Apacer
HandyDrive, Logitech USB mouse, USB E-Token - all is ok. (I have no more USB
devices at this time)

As I discover Windows obtain a “human string” from the inf file. So, I can’t
trust to “iManufacturer”,“iProduct” etc indexes in a device descriptor
structure?

Eugene.