lujunql
驱动小牛
驱动小牛
  • 注册日期2004-06-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:4943回复:3

应用程序中得到USB设备的GUID和VID,PID后如何得到该设备的名称(SymbolicName),以便用CreateFile打开!

楼主#
更多 发布于:2004-07-08 16:18
应用程序中得到USB设备的GUID和VID,PID后如何得到该设备的名称(SymbolicName),以便用CreateFile打开!

最新喜欢:

keta0123keta01...
tigerL
驱动小牛
驱动小牛
  • 注册日期2003-12-24
  • 最后登录2008-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望23点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-07-08 20:26
SetupDiGetClassDevs
SetupDiEnumDeviceInterfaces
SetupDiGetInterfaceDeviceDetail
具体参看Driver Studio中的CDeviceInterfaceClass、CDeviceInterface类。
省元坊
lujunql
驱动小牛
驱动小牛
  • 注册日期2004-06-09
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分21分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-07-09 09:28
我的程序是这样的
//得到该GUID的句柄
hDevInfo = SetupDiGetClassDevs(&Guid,NULL,NULL,
DIGCF_PRESENT|DIGCF_DEVICEINTERFACE);
if(hDevInfo==NULL)
{
   return NULL;
}
SP_DEVICE_INTERFACE_DATA DevInterfaceData;
DevInterfaceData.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA);
DevInterfaceData.InterfaceClassGuid=Guid;
BOOL bSuccess = SetupDiEnumDeviceInterfaces      
           hDevInfo,NULL,&Guid,index, &DevInterfaceData);//index=11;
//bSuccess返回值为0
if (!bSuccess)
{
SetupDiDestroyDeviceInfoList(hDevInfo);
return NULL;
}
SetupDiGetDeviceInterfaceDetail(hDevInfo,  
                  &DevInterfaceData, NULL, 0,
      &requiredLength, NULL);
detailData=(PSP_INTERFACE_DEVICE_DETAIL_DATA) malloc
                                    (requiredLength);
detailData->cbSize =sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);

if( !SetupDiGetDeviceInterfaceDetail(hDevInfo,
                           &DevInterfaceData,
detailData, requiredLength,
          NULL, NULL))
{
SetupDiDestroyDeviceInfoList(hDevInfo);
delete detailData;
return NULL;
}
else
{
............
}
.........
zfw
zfw
驱动小牛
驱动小牛
  • 注册日期2001-12-16
  • 最后登录2006-09-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-07-13 10:37
在应用程序加入
#include "setupapi.h"
#include "devintf.h"
#pragma comment(lib,"setupapi.lib")

devintf.h是DS带的,在devintf.h中有使用说明
打开USB设备时得到的路径名需加上管道名,再CreateFile
zfw
游客

返回顶部