IPropertySetStorage-Compound檔案實作

COM 複合檔案儲存物件實作包含IPropertyStorage的實作、管理單一永續性屬性集的介面,以及管理永續性屬性集群組的IPropertySetStorage介面。

若要取得 IPropertySetStorage之複合檔案實作的指標,請將識別碼的標頭定義名稱 IID_IStorage指定為 riid 參數,或使用 StgCreateStorageExStgOpenStorageEx 函式。 在這兩種情況下,請將 STGFMT_STORAGE 指定為 stgfmt 參數。 (STGFMT_ANY也可以在 StgOpenStorageEx.) 的情況下指定 ,同時將介面識別碼的標頭定義名稱指定為 riid 參數 (IID) IID_IPropertySetStorage。 這兩個函式都會提供物件 IPropertySetStorage 介面的指標。

取得複合檔案實作指標的另一種方式是指定識別碼的標頭定義名稱,IID_IStorage為 riid 參數,或使用 StgCreateDocfileStgOpenStorage 函式。 這會提供物件 IStorage 介面的指標。 當您想要處理永續性屬性集時,請呼叫IPropertySetStorage介面的IStorage::QueryInterface

使用 IPropertySetStorage 的時機

呼叫 IPropertySetStorage 的方法,以在目前的複合檔案屬性集儲存區中建立、開啟或刪除屬性集。 另外還有一個 方法 IPropertySetStorage::Enum,提供列舉值指標,可用來列舉儲存體中的屬性集。

方法

IPropertySetStorage::Create

在目前的複合檔案儲存體中建立新的屬性集,並在傳回時提供 IPropertyStorage 複合檔案實作的介面指標。 在此實作中,只有在指定PROPSETFLAG_NONSIMPLE時,才能交易屬性集。 此方法需要STGM_SHARE_EXCLUSIVE grfMode 參數中指定的共用模式,而且) 不支援存取模式STGM_READ或STGM_READWRITE (STGM_WRITE模式。

IPropertySetStorage::Open

開啟目前屬性儲存體中的現有屬性集。 傳回時,它會提供 IPropertyStorage複合檔案實作的介面指標。 此方法需要STGM_SHARE_EXCLUSIVE grfMode 參數中指定的共用模式,而且不支援存取模式STGM_READ或STGM_READWRITE (STGM_WRITE) 。

IPropertySetStorage::D elete

刪除此屬性儲存體中的屬性集。

IPropertySetStorage::Enum

建立用來列舉 STATPROPSETSTG 結構的 物件。 每個 STATPROPSETSTG 結構都會提供單一屬性集的相關資料。

備註

從 Windows 2000 開始, IPropertySetStorage 的複合檔案實作支援簡單模式。 簡單模式是藉由指定 StgCreateStorageExStgOpenStorageEx 函式的STGM_SIMPLE旗標來表示。 如果複合檔案以簡單模式開啟,相關聯的 IPropertySetStorage 實作 會受到限制,如下所示:

無法交易簡單屬性集。 除非您也指定grfFlags參數中的PROPSETFLAG_NONSIMPLE,否則您無法在CreateOpen方法的grfmode參數中指定STGM_TRANSACTED。 請注意,簡單和非簡單屬性集與上述簡單模式屬性集無關。 如需簡單和非簡單屬性集的詳細資訊,請參閱 屬性集的儲存和資料流程物件

注意

DocumentSummaryInformation 和 UserDefined 屬性集是唯一的,因為它們可能有兩個屬性集區段。 如需詳細資訊,請參閱 DocumentSummaryInformation 和 UserDefined 屬性集

 

IPropertyStorage - 複合檔案實作

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

PROPSETFLAG 常數

STATPROPSETSTG