天天看点

梅举设备信息的DDK函数

函数

HDEVINFO  

SetupDiGetClassDevs

(

  const GUID* ClassGuid,

  PCTSTR Enumerator,

  HWND hwndParent,

  DWORD Flags

  );

参数说明

输入参数:

  PGUID ClassGuid

  在创建设备列表的时候提供一个指向GUID的指针。如果设定了标志DIGCF_ALLCLASSES,则这个参数可以忽略,且列表结果中包括所有已经安装的设备类别。

  PCTSTR Enumerator

  提供包含设备实例的枚举注册表分支下的键名,可以通过它获取设备信息。如果这个参数没有指定,则要从整个枚举树中获取所有设备实例的设备信息。

  HWND hwndParent

  提供顶级窗口的句柄,所有用户接口可以使用它来与成员联系。

  DWORD Flags

  提供在设备信息结构中使用的控制选项。可以是以下数值:

  DIGCF_PRESENT            - 只返回当前存在的设备。

  DIGCF_ALLCLASSES      - 返回所有已安装的设备。如果这个标志设置了,ClassGuid参数将被忽略。

  DIGCF_PROFILE             - 只返回当前硬件配置文件中的设备。

返回值

    HDEVINFO

  如果函数运行成功,返回设备信息结构的句柄,该结构包含与指定参数匹配的所有已安装设备。如果失败,则返回INVALID_HANDLE_VALUE。调用GetLastError可以获得更多错误信息。

说明

    使用此函数,需要包含头文件setupapi.h。

  此外,在project setting中的link页面需要添加setupapi.lib。

  在setuapi.h中有如下定义:

  typedef PVOID HDEVINFO;

  即HDEVINFO是个无类型指针

ddk
上一篇: DDK Tips