阅读:1637回复:3
为什么打开USB后读写不能成功
从网友提供的USBPort开始学习USB开发.
开始总是找不到设备 我试了很久: 用HidD_GetHidGuid(&HidGuid),得到GUID: 4d1e55b2-f16f-11cf-88cb-001111000030 用SetupDiClassGuidsFromName("USB", &HidGuid, 1, &size),得到GUID:36fc9e60-c465-11cf-8056-444553540000 但在执行到SetupDiEnumDeviceInterfaces()时都不能成功,返回错误ERROR_NO_MORE_ITEMS(没有可用的设备). 在网上逛了几天发现有人用a5dcbf10-6530-11d2-901f-00c04fb951ed,在WIN2000DDK的usbioctl.h中定义为GUID_CLASS_USB_DEVICE.拿来一试果然成功的找到了设备路径: 而且只有插上U盘才可以找到. 可是新的问题以来了,我用Createfile打开USB,执行Readfile时不能成功,GetLasterror返回错误是:参数错误,HidD_GetAttributes()也同样不能成功,返回错误:不支持网络请求. 我读操作是这样写的: char buf[100]; DWORD Num; memset(buf , 0x00 , 100); if (ReadFile(DeviceHandle , (LPVOID)buf , 100 , (LPDWORD)&Num , NULL)) { strTmp.Format("SUCC - ReadFile()\r\n"); m_strDisp += strTmp; SetDlgItemText(IDC_EDIT1,m_strDisp); } 哪位网友知道为什么不能读以及上面的三个GUID有什么不同?不胜感激! |
|
最新喜欢:![]() |
沙发#
发布于:2004-02-11 16:47
HID是USB鼠标键盘的GUID,头文件中定义的是U盘的GUID,你用什么ID就能得到用此ID的设备句柄。
|
|
板凳#
发布于:2004-02-16 11:39
谢谢hxm5460的指点,那为什么对U盘的读写不能成功呢?
|
|
地板#
发布于:2004-03-23 11:37
谢谢高人指点,
我也能枚举成功了, 可就是打开设备时出错, 返回是路径错误。 如何解决? |
|