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(或者,将 缓冲区 设置为零,并在 puLength引用的位置获取实际名称长度)。

[in, out] pulLength

用于保存缓冲区大小的位置的调用方提供的地址。 调用方提供 缓冲区指向的缓冲区长度。 该函数将此值替换为枚举器的名称字符串的实际大小。 如果调用方提供的缓冲区长度太小,该函数会提供所需的缓冲区大小并返回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)
Cfgmgr32.lib

另请参阅

CM_Enumerate_Enumerators