cocumay
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2009-08-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1279回复:4

无法得到USB设备的标识,求救各位大虾

楼主#
更多 发布于:2004-07-28 17:49
我已经通过createfile成功得到USB设备(U盘)的HANDLE(hCom),然后用以下语句读设备状态:
           // 开放与设备的通信
HANDLE hCom = CreateFile(strtDetailData->DevicePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,NULL);
if (hCom == INVALID_HANDLE_VALUE)
{
AfxMessageBox(_T("无法打开通信端口"));
return;
}
// 查询设备标识
HIDD_ATTRIBUTES strtAttrib;
//strtAttrib.Size=sizeof(HIDD_ATTRIBUTES);
if (!HidD_GetAttributes(hCom,&strtAttrib))
{
ULONG er_no=GetLastError();
AfxMessageBox(_T("查询设备状态时出错!"));
}
结果总是出错,GetLastError()返回ERROR_INVALID_FUNCTION,请教各位大虾什么原因啊?
chufuxuan
驱动牛犊
驱动牛犊
  • 注册日期2003-01-09
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-23 14:56
用USB view可以得到 :D
cocumay
驱动牛犊
驱动牛犊
  • 注册日期2004-04-22
  • 最后登录2009-08-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-29 09:07
那如何取得U盘的VID和PID呢,用DeviceIoControl吗?
OpenCore
驱动牛犊
驱动牛犊
  • 注册日期2003-03-31
  • 最后登录2004-10-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-29 00:10
U盘是Mass Storage设备,不是Human Interface Device (HID).
但是具体如何使用我就不清楚了。
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-07-28 20:14
好像u盘不是HID类,
不能用HidD_GetAttributes函数
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
游客

返回顶部