CM_Enumerate_Enumerators_ExA 函数 (cfgmgr32.h)

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

CM_Enumerate_Enumerators_Ex 函数通过提供每个枚举器的名称来枚举本地或远程计算机的设备枚举器。

语法

CMAPI CONFIGRET CM_Enumerate_Enumerators_ExA(
  [in]           ULONG    ulEnumIndex,
  [out]          PSTR     Buffer,
  [in, out]      PULONG   pulLength,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine
);

参数

[in] ulEnumIndex

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

[out] Buffer

要接收枚举器名称的缓冲区的地址。 此缓冲区应MAX_DEVICE_ID_LEN大小 (,或者,将 Buffer 设置为零,并在 puLength) 引用的位置中获取实际名称长度。

[in, out] pulLength

调用方提供的用于保存缓冲区大小的位置的地址。 调用方提供 Buffer 指向的 缓冲区的长度。 函数将此值替换为枚举器的名称字符串的实际大小。 如果调用方提供的缓冲区长度太小,该函数将提供所需的缓冲区大小并返回CR_BUFFER_SMALL。

[in] ulFlags

未使用,必须为零。

[in, optional] hMachine

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

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

返回值

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

注解

若要枚举本地或远程计算机的设备枚举器,请重复调用 CM_Enumerate_Enumerators_Ex ,从 ulEnumIndex 索引值为零开始,并在每次后续调用中递增索引值,直到函数返回CR_NO_SUCH_VALUE。

获取枚举器名称后,可以将这些名称用作 CM_Get_Device_ID_List的输入。

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

要求

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

另请参阅

CM_Enumerate_Enumerators