vinny
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2004-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1637回复:3

为什么打开USB后读写不能成功

楼主#
更多 发布于:2004-02-09 15:12
从网友提供的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有什么不同?不胜感激!

最新喜欢:

windgoingwindgo...
hxm5460
驱动牛犊
驱动牛犊
  • 注册日期2002-06-27
  • 最后登录2014-05-16
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望19点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-02-11 16:47
HID是USB鼠标键盘的GUID,头文件中定义的是U盘的GUID,你用什么ID就能得到用此ID的设备句柄。
vinny
驱动牛犊
驱动牛犊
  • 注册日期2004-02-03
  • 最后登录2004-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-02-16 11:39
谢谢hxm5460的指点,那为什么对U盘的读写不能成功呢?
zhaofuqiang
驱动牛犊
驱动牛犊
  • 注册日期2004-03-18
  • 最后登录2004-03-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-03-23 11:37
谢谢高人指点,
我也能枚举成功了,
可就是打开设备时出错,
返回是路径错误。
如何解决?
游客

返回顶部