通过枚举已经找找到了U盘的 读出u盘的属性比如pid和vid,序列号,产品版本,产品ID和盘符
和一些相关信息如下:
Device Descriptor:
bcdUSB:             0x0110
bDeviceClass:         0x00
bDeviceSubClass:      0x00
bDeviceProtocol:      0x00
bMaxPacketSize0:      0x08 (8)
idVendor:           0x058F (Alcor Micro, Inc.)
idProduct:          0x9380
bcdDevice:          0x0103
iManufacturer:        0x01
iProduct:             0x02
iSerialNumber:        0x00
bNumConfigurations:   0x01ConnectionStatus: DeviceConnected
Current Config Value: 0x01
Device Bus Speed:     Full
Device Address:       0x02
Open Pipes:              2Endpoint Descriptor:
bEndpointAddress:     0x01
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00Endpoint Descriptor:
bEndpointAddress:     0x82
Transfer Type:        Bulk
wMaxPacketSize:     0x0040 (64)
bInterval:            0x00
USB#ROOT_HUB#4&23402102&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
第1端口有USB设备连接
状态:已连接!
连接设备名:{36FC9E60-C465-11CF-8056-444553540000}\0006
connection index:[Port:1]
Device class:0x0,idVendor:0x58F,
idProduct:0x9380,
 iManufacturer:0x1,
iSerialNumber:0x0,
bus speed:full,
Device Address:0x2,
Open Pipes:0x2下面想实现对U盘 写入或者读出数据,,我该怎么做;1.是不是设置CreateFile,ReadFile,WriteFile函数吗? 怎么设置呢?2。直接操作U盘和其它USB设备有什么区别;我想U盘写数据时 有什么具体格式吗?

解决方案 »

  1.   

    U盘的文件系统一般是FAT16,操作起来和一般的硬盘分区没有什么分别啊!
    读写数据都一样啊!
      

  2.   

    http://www.codeproject.com/w2k/usbdisks.asp
      

  3.   

    如果你有了PSP_DEVICE_INTERFACE_DATA,就可以用SetupDiGetDeviceInterfaceDetail得到PSP_DEVICE_INTERFACE_DETAIL_DATA,里面的DevicePath可以用CreateFile打开得到一个U盘的handle,然后就象文件一样读写看你另一个帖子,你应该知道这个办法了