IPropertySetStorage 接口 (propidl.h)
IPropertySetStorage 接口创建、打开、删除和枚举支持 IPropertyStorage 接口实例的属性集存储。 IPropertyStorage 接口管理属性存储子对象中的单个属性集;和 IPropertySetStorage 接口管理此类属性集组的存储。 任何文件系统实体都可以支持当前在 COM 复合文件对象中实现的 IPropertySetStorage 。
无论这些集是否驻留在支持 IStorage 的存储对象中,IPropertySetStorage 和 IPropertyStorage 接口都提供了创建和管理属性集的统一方法。 通过支持 IStorage (的对象(如结构化文件和复合文件) 或 IStream)调用时,创建的属性集符合 COM 属性集格式( 结构化存储序列化属性集格式中详述)。 同样,使用 IStorage 写入 COM 属性集格式的属性通过 IPropertySetStorage 和 IPropertyStorage 可见。
IPropertySetStorage 方法通过全局唯一标识符 (GUID) 标识属性集, (FMTID) 格式标识符。 属性集的 FMTID 标识属性集中的属性标识符、其含义以及值上的任何约束。 属性集的 FMTID 还应提供操作该属性集的方法。 单个属性存储中一次只能存在给定 FMTID 的一个实例。
继承
IPropertySetStorage 接口继承自 IUnknown 接口。 IPropertySetStorage 还具有以下类型的成员:
方法
IPropertySetStorage 接口具有这些方法。
IPropertySetStorage::Create 在属性集存储对象中创建并打开一个新属性集。 |
IPropertySetStorage::D elete Delete 方法删除属性集存储对象中包含的属性集之一。 |
IPropertySetStorage::Enum Enum 方法创建一个枚举器对象,该对象包含有关存储在此属性集存储中的属性集的信息。 返回时,此方法提供指向枚举器对象上的 IEnumSTATPROPSETSTG 指针的指针。 |
IPropertySetStorage::Open 打开属性集存储对象中包含的属性集。 |
注解
调用 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) |
另请参阅
IPropertySetStorage-Compound 文件实现