IPropertySetStorage-独立实现

IPropertySetStorage 的系统独立实现 包括 IPropertyStorageIPropertySetStorage实现。IPropertyStorage 是读取和写入属性集存储中的属性的接口。 IPropertySetStorage 是用于在存储中创建和打开属性集的接口。 独立实现中还提供了 IEnumSTATPROPSTGIEnumSTATPROPSETSTG 接口。

若要使用 IPropertySetStorage的独立实现,请先获取指向系统提供的独立实现的指针,并将系统提供的实现与存储对象相关联。 若要获取指向 IPropertySetStorage的独立实现的指针,请调用 StgCreatePropSetStg 函数,并提供指定将包含属性集的存储对象的 pStorage 参数。 此函数提供指向指定存储对象的新 IPropertySetStorage 接口的指针。

IPropertySetStorage 的独立实现 在任何存储对象上创建属性集,而不仅仅是在复合文件存储上。 独立实现不依赖于复合文件,可用于结构化存储的任何实现。 对调用方提供的结构化存储的任何限制都适用于属性集的此实现。 例如,如果提供简单模式存储来 StgOpenPropStg,生成的 IPropertySetStorage 将受到提供的 IStorage的限制。

有关此接口的复合文件实现的详细信息,请参阅 IPropertySetStorage-Compound 文件实现部分。

何时使用

调用 IPropertySetStorage 的方法,以在任何结构化存储中创建、打开和删除属性集。 还有一种方法提供指向 IEnumSTATPROPSETSTG 枚举器的指针,这些枚举器可用于枚举存储中的属性集。

独立实现还提供 StgCreatePropStgStgOpenPropStg 帮助程序函数,除了 CreateOpen 方法之外,还可以创建和打开属性集。 这两个函数添加了对PROPSETFLAG_UNBUFFERED值的支持,因此可以直接将更改写入属性集,而不是在缓存中缓冲更改。 有关详细信息,请参阅 PROPSETFLAG 常量

方法

IPropertySetStorage 的独立实现支持以下方法。

IPropertySetStorage::Create

在存储中创建一个新属性集,并返回指向属性集上的 IPropertyStorage 接口的指针。

如果计划使用PROPSETFLAG_UNBUFFERED值,请使用 StgCreatePropStg 函数来创建和打开新属性集,并获取指向属性集上 IPropertyStorage 接口的独立实现的指针。

IPropertySetStorage::Open

打开存储中的现有属性集,并返回指向属性集上的 IPropertyStorage 接口的指针。

如果计划使用PROPSETFLAG_UNBUFFERED值,请使用 StgOpenPropStg 函数来获取指向指定属性集上 IPropertyStorage 独立实现的指针。

IPropertySetStorage::D elete

删除此属性集存储中的属性集。

IPropertySetStorage::Enum

创建可用于枚举 STATPROPSETSTG 结构的对象。 每个 STATPROPSETSTG 结构都提供有关单个属性集的数据。

注意

DocumentSummaryInformation 和 UserDefined 属性集是唯一的,因为它可能在单个基础流中具有两个属性集节。 有关详细信息,请参阅 DocumentSummaryInformation 和 UserDefined 属性集

 

IPropertyStorage-独立实现

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

PROPSETFLAG 常量

STATPROPSETSTG

StgCreatePropSetStg

StgCreatePropStg

StgOpenPropStg

STGM 常量