阅读:1508回复:4
请教高手:关于设备接口类
各位大虾:
这个问题折磨小弟很久了,请务必指点。 调用HDEVINFO HardwareDeviceInfo = SetupDiGetClassDevs((LPGUID)&GUID_USB,NULL,NULL,DIGCF_ALLCLASSES)成功,调用SetupDiEnumDeviceInfo(HardwareDeviceInfo,index,&DeviceInfo)枚举设备信息,也可以成功;但调用SetupDiEnumDeviceInterfaces(HardwareDeviceInfo,NULL,(LPGUID)&GUID_USB,index,&DeviceInterfaceData)却不能得到设备接口信息?这是问题1,还有,若在调用SetupDiGetClassDevs时指明为接口类,即HardwareDeviceInfo = SetupDiGetClassDevs((LPGUID)&GUID_USB,NULL,NULL,DIGCF_DEVICEINTERFACE),则连枚举设备信息SetupDiEnumDeviceInfo(HardwareDeviceInfo,index,&DeviceInfo)也失败。好象带上设备接口GUID_USB后,API调用就不成功。不知道是为什么? //USB的接口GUID从注册表中查得为 {36FC9E60-C465-11CF-8056-444553540000}并定义如下: #include <initguid.h> DEFINE_GUID(GUID_USB, 0X36FC9E60, 0XC465, 0X11CF, 0X80, 0X56, 0X44,0X45, 0X53, 0X54, 0X00, 0X00); [编辑 - 9/15/03 by hhddy] |
|
最新喜欢:![]() |
沙发#
发布于:2003-09-16 14:57
在SetupDiEnumDeviceInterfaces前,加入这一句,查查看HardwareDeviceInfo是否是有效的,你的代码是没有问题的
if (HardwareDeviceInfo==INVALID_HANDLE_VALUE) return NULL; |
|
|
板凳#
发布于:2003-10-20 10:21
我遇到的也是相同的问题
SetupDiGetClassDevs返回的句柄有效 但是SetupDiEnumDeviceInterfaces枚举不出来,返回句柄无效 GetLastError()返回的结果:259 No more data is available. ERROR_NO_MORE_ITEMS 谁能帮忙?帮我解决了问题,我所有能给的分都给了! |
|
地板#
发布于:2003-10-20 10:52
macwin方便回答一下吗!
|
|
地下室#
发布于:2003-10-20 21:08
我的问题解决了,是GUID搞错了,
我想你们的问题也可能是这样的,在检查一下吧,, |
|