IPropertySetStorage-獨立實作

IPropertySetStorage的系統提供的獨立實作包含IPropertyStorageIPropertySetStorage的實作。IPropertyStorage是在屬性集儲存體中讀取和寫入屬性的介面。 IPropertySetStorage 是在儲存體中建立和開啟屬性集的介面。 獨立實作中也會提供 IEnumSTATPROPSTGIEnumSTATPROPSETSTG 介面。

若要使用 IPropertySetStorage的獨立實作,請先取得系統提供的獨立實作指標,並將系統提供的實作與您的儲存體物件產生關聯。 若要取得 IPropertySetStorage獨立實作的指標,請呼叫 StgCreatePropSetStg 函式並提供 pStorage 參數,以指定將包含屬性集的儲存體物件。 此函式會提供指定之儲存體物件之新 IPropertySetStorage 介面的指標。

IPropertySetStorage的獨立實作會在任何儲存物件上建立屬性集,而不只是在複合檔案儲存體上。 獨立實作不相依于複合檔案,並可搭配任何結構化儲存體的實作使用。 呼叫端提供之結構化儲存體的任何限制都適用于這個屬性集的實作。 例如,如果您提供簡單模式儲存體給 StgOpenPropStg,產生的 IPropertySetStorage 將會受到提供的 IStorage限制。

如需此介面之複合檔案實作的詳細資訊,請參閱 IPropertySetStorage-Compound File 實作一節。

使用時機

呼叫 IPropertySetStorage 的方法,以在任何結構化儲存體中建立、開啟和刪除屬性集。 另外還有方法提供 IEnumSTATPROPSETSTG 列舉值的指標,可用來列舉儲存體中的屬性集。

除了CreateOpen方法之外,獨立實作也會提供StgCreatePropStgStgOpenPropStg協助程式函式,以建立和開啟屬性集。 這兩個函式會新增對 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 常數