SetupDiBuildClassInfoList 函数 (setupapi.h)

SetupDiBuildClassInfoList 函数返回用于标识本地计算机上安装的类的安装程序类 GUID 的列表。

语法

WINSETUPAPI BOOL SetupDiBuildClassInfoList(
  [in]            DWORD  Flags,
  [out, optional] LPGUID ClassGuidList,
  [in]            DWORD  ClassGuidListSize,
  [out]           PDWORD RequiredSize
);

参数

[in] Flags

用于控制列表中类的排除的标志。 如果未指定标志,则所有安装类都包含在列表中。 可以是以下值的组合:

DIBCI_NOINSTALLCLASS

如果类的注册表项中具有 NoInstallClass 值项,则排除该类。

DIBCI_NODISPLAYCLASS

如果类的注册表项中具有 NoDisplayClass 值项,则排除该类。

[out, optional] ClassGuidList

指向 GUID 类型的数组的指针,该数组接收安装程序类 GUID 的列表。 此指针是可选的,可以为 NULL

[in] ClassGuidListSize

ClassGuildList 参数指向的数组中的 GUID 数。 如果 ClassGuidListNULL则 ClassGuidSize 必须为零。

[out] RequiredSize

指向 DWORD 类型变量的指针,该变量接收返回 (的 GUID 数(如果数字小于或等于 ClassGuidList 参数) 指向的数组的大小(以 GUID 为单位)。

如果此数字大于 ClassGuidList 数组的大小,则指示 ClassGuidList 数组必须有多大才能包含所有类 GUID。

返回值

如果成功,该函数将返回 TRUE 。 否则,它将返回 FALSE ,并且可以通过调用 GetLastError 来检索记录的错误。

注解

若要检索本地计算机上安装的类数,请调用 SetupDiBuildClassInfoList其中 ClassGuidList 设置为 NULL,ClassGuidSize 设置为零。 为了响应此类调用,函数返回 RequiredSize 中的*类数。

如果类的注册表项中存在 NoUseClass 值项,SetupDiBuildClassInfoList 不会返回类的类 GUID。

若要检索安装在远程系统上的安装程序类 GUID 的列表,请使用 SetupDiBuildClassInfoListEx

要求

要求
最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 桌面
标头 setupapi.h (包括 Setupapi.h)
Library Setupapi.lib
DLL Setupapi.dll

另请参阅

SetupDiBuildClassInfoListEx

SetupDiGetClassDescription

SetupDiGetINFClass