IPropertySetStorage 接口 (propidl.h)

IPropertySetStorage 接口创建、打开、删除和枚举支持 IPropertyStorage 接口实例的属性集存储。 IPropertyStorage 接口管理属性存储子对象中的单个属性集;和 IPropertySetStorage 接口管理此类属性集组的存储。 任何文件系统实体都可以支持当前在 COM 复合文件对象中实现的 IPropertySetStorage

无论这些集是否驻留在支持 IStorage 的存储对象中,IPropertySetStorageIPropertyStorage 接口都提供了创建和管理属性集的统一方法。 通过支持 IStorage (的对象(如结构化文件和复合文件) 或 IStream)调用时,创建的属性集符合 COM 属性集格式( 结构化存储序列化属性集格式中详述)。 同样,使用 IStorage 写入 COM 属性集格式的属性通过 IPropertySetStorageIPropertyStorage 可见。

IPropertySetStorage 方法通过全局唯一标识符 (GUID) 标识属性集, (FMTID) 格式标识符。 属性集的 FMTID 标识属性集中的属性标识符、其含义以及值上的任何约束。 属性集的 FMTID 还应提供操作该属性集的方法。 单个属性存储中一次只能存在给定 FMTID 的一个实例。

继承

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

方法

IPropertySetStorage 接口具有这些方法。

 
IPropertySetStorage::Create

在属性集存储对象中创建并打开一个新属性集。
IPropertySetStorage::D elete

Delete 方法删除属性集存储对象中包含的属性集之一。
IPropertySetStorage::Enum

Enum 方法创建一个枚举器对象,该对象包含有关存储在此属性集存储中的属性集的信息。 返回时,此方法提供指向枚举器对象上的 IEnumSTATPROPSETSTG 指针的指针。
IPropertySetStorage::Open

打开属性集存储对象中包含的属性集。

注解

注意 DocumentSummaryInformation 和 UserDefined 属性集中存在上述异常。 此属性集是唯一的,因为它可能在单个基础流中具有两个属性集部分。 DocumentSummaryInformation 和 UserDefined 属性集中介绍了此属性集。 第一部分是 DocumentSummaryInformation 属性集。 第二部分是 UserDefined 属性集。 每个部分由 FMTID) (唯一格式标识符标识。 例如,FMTID_DocSummaryInformation 和 FMTID_UserDefined 属性集。 这两个属性集可以存在于单个流中这一事实会影响 IPropertySetStorage 接口的行为。

调用 IPropertySetStorage::Create 来创建 UserDefined 属性集时,将自动创建第一个部分。 创建FMTID_UserDefinedProperties后,无需创建FMTID_DocSummaryInformation,但可以通过调用 IPropertySetStorage::Open 打开。 创建第一节不会自动创建第二节,并且无法同时打开这两个部分。

调用 IPropertySetStorage::D elete 删除第一节会导致删除这两个部分。 换句话说,使用 FMTID_DocSummaryInformation 调用 IPropertySetStorage::D elete 会导致删除该节和FMTID_UserDefinedProperties节。 但是,删除第二节不会自动删除第一节。

使用 IPropertySetStorage::Enum 枚举属性集时,不会枚举 UserDefined 属性集。

 

要求

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

另请参阅

枚举全部示例

IEnumSTATPROPSETSTG

IPropertySetStorage-Compound 文件实现

IPropertySetStorage-NTFS 文件系统实现

IPropertySetStorage-独立实现

IPropertyStorage

PROPVARIANT

STATPROPSETSTG

示例