在NT的基础上,MS在NT4.0后的操作系统里都提供了很多以SetupDiXXXXX开头的函数,就是大家经常所说的 SetupAPI.
需要包含头文件setupapi.h。setupapi.lib。
1,首先我们要访问系统的硬件库,用API SetupDiGetClassDevs,在DDK的文档中,函数的原型如下:
HDEVINFOSetupDiGetClassDevs(const GUID* ClassGuid,PCTSTR Enumerator,HWND hwndParent,DWORD Flags);
输入参数:
PGUID
ClassGuid
在创建设备列表的时候提供一个指向GUID的
指针。如果设定了标志DIGCF_ALLCLASSES,则这个参数可以忽略,且列表结果中包括所有已经安装的设备类别。
PCTSTR
Enumerator
提供包含设备实例的枚举注册表分支下的键名,可以通过它获取设备信息。如果这个参数没有指定,则要从整个枚举树中获取所有设备实例的设备信息。
HWND
hwndParent
提供顶级窗口的句柄,所有
用户接口可以使用它来与成员联系。
DWORD
Flags
提供在设备信息结构中使用的控制选项。可以是以下数值:
DIGCF_PRESENT - 只返回当前存在的设备。
DIGCF_ALLCLASSES - 返回所有已安装的设备。如果这个标志设置了,ClassG