huang9527
驱动牛犊
驱动牛犊
  • 注册日期2008-09-02
  • 最后登录2011-05-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望93点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2773回复:4

求教各位大侠!从驱动中获取VID和PID!!

楼主#
更多 发布于:2010-07-23 15:30
问题如下:
小弟最近作一个USB只读驱动,相当于过滤驱动
我在AddDevice 中通过
IoGetDeviceProperty(pdo, DevicePropertyHardwareID , SizeDevicePropertyHardwareID, DevicePropertyHardwareIDName,     &SizeDevicePropertyHardwareID);
想获取(USB\Vid_154b&Pid_6001\00000000000486)这样格式的vendor和product ID组合
但 实际上输出时为:
USBSTOR\DiskPNY_____Lovely_Attache__0.00这样的字符串。

我想请教的是,我如何能够得到USB\Vid_XXXX&Pid_XXXX这种格式的vendor和product ID组合!!

先谢谢大家拉~~~~
bmwbk
驱动中牛
驱动中牛
  • 注册日期2004-05-30
  • 最后登录2015-05-21
  • 粉丝1
  • 关注0
  • 积分160分
  • 威望2759点
  • 贡献值1点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-07-23 21:03
有关驱动问题需要协助可以联系: www.drivercoding.com
DriverCoding Technologies, Inc. support@drivercoding.com http://www.drivercoding.com
jally76
驱动牛犊
驱动牛犊
  • 注册日期2005-04-28
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望590点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-07-26 09:21
你过滤驱动安装的位置有误,从报的ID串来看,你应该是安装在USBSTOR驱动的上方,如果安装在它的下方,就能得到你所需要的ID串了。
huang9527
驱动牛犊
驱动牛犊
  • 注册日期2008-09-02
  • 最后登录2011-05-12
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望93点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-07-26 13:48
非常感谢您的回复!!我现在的驱动安装是这样的:
1.通过filter.inf在注册表中添加服务
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbfilter]
"Type"=dword:00000001
"Start"=dword:00000000 (注意必须为Auto Start)
"ErrorControl"=dword:00000001
"DisplayName"="myfilter"

2.4D36E967-E325-11CE-BFC1-08002BE10318中LowerFilters手工增加
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}]
"LowerFilters"="myfilter"

您的意思是,把"LowerFilters"="myfilter"这个改掉吗??
jally76
驱动牛犊
驱动牛犊
  • 注册日期2005-04-28
  • 最后登录2010-11-23
  • 粉丝0
  • 关注0
  • 积分59分
  • 威望590点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-07-27 23:39
你先要弄清楚驱动栈的结构,磁盘驱动下方是USBStor驱动
而4D36E967-E325-11CE-BFC1-08002BE10318是磁盘驱动的GUID
你要过滤USBStor的话就要用USBStor驱动的GUID
游客

返回顶部