CM_Get_Device_ID_List_SizeA 函数 (cfgmgr32.h)

CM_Get_Device_ID_List_Size 函数检索保存本地计算机设备实例的设备实例 ID 列表所需的缓冲区大小。

语法

CMAPI CONFIGRET CM_Get_Device_ID_List_SizeA(
  [out]          PULONG pulLen,
  [in, optional] PCSTR  pszFilter,
  [in]           ULONG  ulFlags
);

参数

[out] pulLen

接收一个值,该值表示所需的缓冲区大小(以字符为单位)。

[in, optional] pszFilter

调用方提供的指向指定计算机设备实例标识符子集的字符串的指针,或 NULL。 请参阅 ulFlags 的以下说明。

[in] ulFlags

调用方提供的指定搜索筛选器的可选位标志之一。 如果未指定标志,则函数将提供保存所有设备实例的所有实例标识符所需的缓冲区大小。 有关位标志的列表,请参阅CM_Get_Device_ID_ListulFlags 说明。

返回值

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

注解

应调用 CM_Get_Device_ID_List_Size 函数来确定 CM_Get_Device_ID_List所需的缓冲区大小。

pulLen 指向的位置中提供的大小值保证表示足以容纳所有设备实例标识符字符串和终止 NUL 的缓冲区大小。 所提供的值实际上可能表示大于所需的缓冲区大小,因此不要假定该值表示 CM_Get_Device_ID_List 将提供的字符串的真实长度。

有关设备实例 ID 的信息,请参阅 设备标识字符串

注意

cfgmgr32.h 标头将 CM_Get_Device_ID_List_Size 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

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

另请参阅

CM_Get_Device_ID_List_Size_Ex