阅读:1908回复:6
SetupDiGetClassDevs
该函数返回的值应该是什么才算正确啊,为什么我返回的值显示是:0x0014eb90怎么办啊?
|
|
沙发#
发布于:2004-03-25 18:26
是HDEVINFO句柄啊!
恭喜你,这个函数成功返回了! :) |
|
|
板凳#
发布于:2004-03-25 22:32
那我接着调用SetupDiEnumDeviceInterfaces 返回值就是0了
gu={ 0x36FC9E60, 0xC465, 0x11CF, { 0x80, 0x56, 0x44, 0x45, 0x53, 0x54, 0x00, 0x00 } }; devInfoData.cbSize = sizeof(devInfoData); MemberIndex = 0; Result=SetupDiEnumDeviceInterfaces(hDevInfo, 0, &gu, MemberIndex, &devInfoData); 为什么啊? |
|
地板#
发布于:2004-03-25 23:14
那我接着调用SetupDiEnumDeviceInterfaces 返回值就是0了 首先用GetLastError看是不是ERROR_NO_MORE_ITEMS,如果是,则设备不存在! 如果不是,就要看你的GUID对不对了,注意,这个GUID和INF文件里的不是一回事。 |
|
|
地下室#
发布于:2004-03-26 09:14
不是一回事?那我怎么知道我设备真正的GUID呢?
也就是说我怎么在调用SetupDiGetClassDevs 和SetupDiEnumDeviceInterfaces 的时候指定的GUID应该是 哪个GUID啊? |
|
5楼#
发布于:2004-03-26 10:20
你可以到注册表中HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses中找到你要的GUID,别忘了设置flag"DIGCF_DEVICEINTERFACE"
|
|
6楼#
发布于:2004-03-26 10:49
恩,谢谢楼上的大虾.
|
|