枚举设备信息的DDK函数的lv实现??
枚举设备信息函数SetupDiGetClassDevs,用call library function node 实现,在参数设置中出现问题,无法返回正确结果。请高手指教1、函数结构如下:
HDEVINFO
SetupDiGetClassDevs(
IN PGUIDClassGuid, /* optional */
IN PCTSTREnumerator, /* optional */
IN HWNDhwndParent, /* optional */
IN DWORDFlags
);
2、要实现的语句
#define DIGCF_PRESENT 0x00000002
#define DIGCF_DEVICEINTERFACE 0x00000010
HDEVINFO hDevInfoList = SetupDiGetClassDevs (&m_GUID, NULL, NULL, (DIGCF_PRESENT | DIGCF_DEVICEINTERFACE));
3、lv实现
如附件。其中的GUID采用了一些常数值。 老兄呀,你不来是不来一来就搞难题,
GUID的获得你应知道了,可以通过注册表获得
GUID的定义如下,这是个例子
Disk类的GUID为“53f56307-b6bf-11d0-94f2-00a0c91efb8b”,在我们的程序里可以定义为
const GUID DiskClassGuid = {0x53f56307L, 0xb6bf, 0x11d0, {0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b)};
在LV中定义也须要这样子,
另外输出的是句柄,你须要用U32类型吧 呵呵,我是隆重出场阿。
GUID={0x53f56307L, 0xb6bf, 0x11d0, {0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b)}在lv里怎么实现?是我例子中方法(簇)吧?查了好多资料都说用簇,但都不详细。
输出的句柄用U32也不对i,里面的数据类型我差不多试遍了,得到的值都与用vc运行程序的值不一样。
页:
[1]