阅读:2836回复:4
求教各位大侠!从驱动中获取VID和PID!!
问题如下:
小弟最近作一个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组合!! 先谢谢大家拉~~~~ |
|
沙发#
发布于:2010-07-23 21:03
有关驱动问题需要协助可以联系: www.drivercoding.com
|
|
|
板凳#
发布于:2010-07-26 09:21
你过滤驱动安装的位置有误,从报的ID串来看,你应该是安装在USBSTOR驱动的上方,如果安装在它的下方,就能得到你所需要的ID串了。
|
|
地板#
发布于: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"这个改掉吗?? |
|
地下室#
发布于:2010-07-27 23:39
你先要弄清楚驱动栈的结构,磁盘驱动下方是USBStor驱动
而4D36E967-E325-11CE-BFC1-08002BE10318是磁盘驱动的GUID 你要过滤USBStor的话就要用USBStor驱动的GUID |
|