CM_Enumerate_Classes_Ex 函数 (cfgmgr32.h)

[从 Windows 8 和 Windows Server 2012 开始,此函数已弃用。 请改 用 CM_Enumerate_Classes 。]

重复调用 CM_Enumerate_Classes_Ex 函数时,通过提供每个类的 GUID 来枚举本地或远程计算机的已安装设备类。

语法

CMAPI CONFIGRET CM_Enumerate_Classes_Ex(
  [in]           ULONG    ulClassIndex,
  [out]          LPGUID   ClassGuid,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

参数

[in] ulClassIndex

计算机设备类列表中的调用方提供的索引。 有关详细信息,请参阅以下 “备注” 部分。

[out] ClassGuid

调用方提供的 GUID 结构的地址 (Microsoft Windows SDK) 中所述,用于接收设备类的 GUID。

[in] ulFlags

从Windows 8开始,调用方可以指定以下标志:

CM_ENUMERATE_CLASSES_INSTALLER

枚举设备安装类。

CM_ENUMERATE_CLASSES_INTERFACE

枚举设备接口类。

否则, 应设置为零。

[in, optional] hMachine

调用方提供的计算机句柄,从上一次调用 CM_Connect_Machine获取。

注意从Windows 8和Windows Server 2012开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
 

返回值

如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。

注解

若要枚举本地或远程计算机的设备类,请重复调用 CM_Enumerate_Classes_Ex ,从 ulClassIndex 索引值零开始,并在每次后续调用中递增索引值,直到函数返回CR_NO_SUCH_VALUE。 某些索引值可能表示包含无效类数据的列表条目,在这种情况下,函数返回CR_INVALID_DATA。 可以忽略此返回值。

从此函数获取的类 GUID 可用作 设备安装函数的输入。

从Windows 8及更高版本的操作系统开始,调用方可以使用 ulFlags 成员来指定CM_Enumerate_Classes_Ex应返回哪些设备类。 在Windows 8之前,CM_Enumerate_Classes_Ex仅返回设备设置类。

Windows 8 和 Windows Server 2012 及更高版本的操作系统中删除了访问远程计算机的功能,因此在这些版本的 Windows 上运行时,无法访问远程计算机。

要求

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

另请参阅

CM_Enumerate_Classes