获取电脑硬件对应的驱动程序信息

刚换了工作,入职时候大佬让我研究下 驱动人生/驱动精灵 判断驱动是否正常是怎么做到的

一开始是一脸懵逼的,完全不知道要如何下手,不过应该是获取设备管理器里硬件属性,然后进行判断吧,我就跟据我的猜测进行研究。

第一个要解决的问题就是要如何获得设备管理器上的信息
在MSDN游荡了很久,发现了

CMAPI
CONFIGRET
WINAPI CM_Enumerate_Classes(
  _In_  ULONG  ulClassIndex,
  _Out_ LPGUID ClassGuid,
  _In_  ULONG  ulFlags
);

The CM_Enumerate_Classes function, when called repeatedly, enumerates the local machine’s installed device classes by supplying each class’s GUID.

这函数的功能就是枚举本地机器上安装的每个设备类的GUID。(我的理解:每个设备类里面就有很多具体的设备,就类似一棵树的根,下面会有很多子节点。至于归类方式,微软说是以设备的安装方式来归类的,具体参看MSDN:Device Classes)

获得了设备类的GUID,那应该有遍历这个设备类里每个设备的函数,我就继续在MSDN游荡。。。终于发现了另一个函数,

HDEVINFO SetupDiGetClassDevs(
  _In_opt_ const GUID   *ClassGuid,
  _In_opt_       PCTSTR Enumerator,
  _In_opt_       HWND   hwndParent,
  _In_      

你可能感兴趣的:(Windows)