IPropertyStorage::ReadMultiple 方法 (propidl.h)

ReadMultiple 方法从当前属性集中读取指定的属性。

语法

HRESULT ReadMultiple(
  [in]  ULONG             cpspec,
  [in]  const PROPSPEC [] rgpspec,
  [out] PROPVARIANT []    rgpropvar
);

参数

[in] cpspec

rgpspec 数组中要指定的属性的数值计数。 此参数的值可以设置为零;但是,这违背了 方法的用途,因为无论 rgpspec 中设置的值如何,都不读取任何属性。

[in] rgpspec

PROPSPEC 结构的数组指定要读取的属性。 可以通过属性 ID 或可选的字符串名称指定属性。 不需要在数组中按任何特定顺序指定属性。 数组可以包含重复的属性,导致简单属性返回时出现重复的属性值。 尝试第二次打开非简单属性时,应返回拒绝的访问。 数组可以包含属性 ID 和字符串 ID 的组合。

[out] rgpropvar

调用方分配的 PROPVARIANT 结构的数组,返回时包含 rgpspec 数组中相应元素指定的属性值。 数组必须至少足够大,以便保存 PROPVARIANT 结构的 cpspec 参数的值。 cpspec 参数指定数组中设置的属性数。 调用方不需要以任何特定顺序初始化这些 PROPVARIANT 结构值。 但是,实现必须在返回时正确填充所有成员。 如果没有其他适当的值,则实现必须将每个 PROPVARIANT 结构的 vt 成员设置为VT_EMPTY

返回值

此方法支持标准返回值 E_UNEXPECTED以及以下值:

此函数还可以返回包装在 HRESULT 数据类型中的任何文件系统错误或 Win32 错误。 有关详细信息,请参阅 错误处理策略

有关详细信息,请参阅 属性存储注意事项

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 propidl.h (包括 Objbase.h、Propidlbase.h)
Library Uuid.lib
DLL Ole32.dll

另请参阅

EnumAll 示例

IPropertySetStorage

IPropertyStorage

IPropertyStorage::WriteMultiple

IPropertyStorage::WritePropertyNames

示例

StgCreatePropSetStg 示例

WriteRead 示例