共用方式為


IPropertySetStorage-Compound 檔案實作

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

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

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

使用 IPropertySetStorage 的時機

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

方法

IPropertySetStorage::Create

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

IPropertySetStorage::Open

開啟目前屬性記憶體中的現有屬性集。 傳回時,它會提供 IPropertyStorage之複合檔案實作的介面指標。 此方法需要 grfMode 參數中指定的共用模式STGM_SHARE_EXCLUSIVE,而且存取模式為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。 請注意,簡單和非簡單屬性集與上述簡單模式屬性集無關。 如需簡單和非簡單屬性集的詳細資訊,請參閱屬性集 Storage and Stream Objects。

注意

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

 

IPropertyStorage - 複合檔案實作

IPropertySetStorage

IPropertyStorage

IStorage::EnumElements

PROPSETFLAG 常數

STATPROPSETSTG