IPropertyStorage 接口 (propidlbase.h)

IPropertyStorage 接口管理单个属性集的持久属性。 持久属性包含可永久存储在属性集中的信息,例如与文件关联的摘要信息。 这与与控件和自动化关联的运行时属性形成鲜明对比,后者可用于影响系统行为。 使用 IPropertySetStorage 接口的方法创建或打开永久性属性集。 IPropertySetStorage 接口的实例可以管理零个或多个 IPropertyStorage 实例。

属性集中的每个属性都由属性标识符 (ID) (该集唯一的四字节 ULONG 值)标识。 还可以通过 IPropertyStorage 接口将字符串名称分配给属性。

属性 ID 不同于自动化 dispid 属性名称标记中使用的调度 ID。 一个区别是, IPropertyStorage 中禁止使用属性 ID 值 0 和 1 的常规用途,而 IDispatch 中不存在此类限制。 此外,虽然可在 IPropertyStorageIDispatch 中使用的属性值的数据类型之间存在明显的重叠,但属性集并不相同。 IPropertyStorage 方法中使用的持久属性数据类型在 PROPVARIANT 结构中定义。

IPropertyStorage 接口可用于访问简单和非简单属性集。 非简单属性集可以保存多个复杂属性类型,这些属性类型不能保存在简单属性集中。 有关详细信息,请参阅属性集的存储和Stream对象

继承

IPropertyStorage 接口继承自 IUnknown 接口。 IPropertyStorage 还具有以下类型的成员:

方法

IPropertyStorage 接口包含以下方法。

 
IPropertyStorage::Commit

IPropertyStorage::Commit 方法将对属性存储对象所做的更改保存到父存储对象。
IPropertyStorage::D eleteMultiple

IPropertyStorage::D eleteMultiple 方法删除属性集中存在的指示属性的数量。
IPropertyStorage::D eletePropertyNames

IPropertyStorage::D eletePropertyNames 方法从当前属性集中删除指定的字符串名称。
IPropertyStorage::Enum

IPropertyStorage::Enum 方法创建一个枚举器对象,该对象旨在枚举类型为 STATPROPSTG 的数据,其中包含有关当前属性集的信息。
IPropertyStorage::ReadMultiple

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

IPropertyStorage::ReadPropertyNames 方法检索指定属性 ID 的任何现有字符串名称。
IPropertyStorage::Revert

IPropertyStorage::Revert 方法放弃自上次打开以来对命名属性集所做的所有更改,或放弃上次提交到属性集的更改。
IPropertyStorage::SetClass

IPropertyStorage::SetClass 方法将新的 CLSID 分配给当前属性存储对象,并将 CLSID 与 对象一起持久存储。
IPropertyStorage::SetTimes

IPropertyStorage::SetTimes 方法设置此属性集的修改、访问和创建时间(如果实现支持)。
IPropertyStorage::Stat

IPropertyStorage::Stat 方法检索有关当前打开的属性集的信息。 (IPropertyStorage.Stat)
IPropertyStorage::WriteMultiple

IPropertyStorage::WriteMultiple 方法将指定的属性组写入当前属性集。
IPropertyStorage::WritePropertyNames

IPropertyStorage::WritePropertyNames 方法将字符串 IPropertyStoragenames 分配给当前属性集中的指定属性 ID 数组。

要求

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

另请参阅

IEnumSTATPROPSETSTG

IEnumSTATPROPSTG

IPropertySetStorage

IPropertyStorage-Compound 文件实现

IPropertyStorage-NTFS 文件系统实现

IPropertyStorage-独立实现

管理属性

PROPVARIANT

属性存储注意事项

STATPROPSETSTG

STATPROPSTG

示例