SetupDiBuildClassInfoListEx 函数返回安装类 GUID 的列表,其中包括在本地系统或远程系统上安装的每个类。
语法
WINSETUPAPI BOOL SetupDiBuildClassInfoListExA(
  [in]            DWORD  Flags,
  [out, optional] LPGUID ClassGuidList,
  [in]            DWORD  ClassGuidListSize,
  [out]           PDWORD RequiredSize,
  [in, optional]  PCSTR  MachineName,
                  PVOID  Reserved
);
参数
[in] Flags
用于控制列表中类排除的标志。 如果未指定任何标志,则列表中包括所有安装类。 可以是以下值的组合:
DIBCI_NOINSTALLCLASS
如果类的注册表项中具有 NoInstallClass 值项,则排除该类。
DIBCI_NODISPLAYCLASS
如果类在其注册表项中具有 NoDisplayClass 值项,则排除该类。
[out, optional] ClassGuidList
指向接收安装类 GUID 列表的缓冲区的指针。
[in] ClassGuidListSize
提供 ClassGuildList 数组中的 GUID 数。
[out] RequiredSize
指向接收返回的 GUID 数的变量的指针。 如果此数字大于 ClassGuidList的大小,则数字指示必须 ClassGuidList 数组的大小才能包含列表。
[in, optional] MachineName
指向以 NULL 结尾的字符串的指针,该字符串包含从中检索已安装安装程序类的远程计算机的名称。 此参数是可选的,可以 NULL。 如果 MachineNameNULL,此函数将生成本地计算机上安装的类列表。
谨慎
从 Windows 8 和 Windows Server 2012 开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
Reserved
必须为 NULL
返回值
如果函数成功,则返回 TRUE。 否则,它返回 FALSE,可以通过调用 getLastError来检索记录的错误。
言论
注意
setupapi.h 标头将 SetupDiBuildClassInfoListEx 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 
要求
| 要求 | 价值 | 
|---|---|
| 最低支持的客户端 | Microsoft Windows 2000 及更高版本的 Windows 中可用。 | 
| 目标平台 | 桌面 | 
| 标头 | setupapi.h (包括 Setupapi.h) | 
| 库 | Setupapi.lib |