共用方式為


管理屬性集

持續性屬性集包含相關數據做為屬性。 每個屬性集都會使用 FMTID 來識別,以及可讓應用程式存取屬性集的全域唯一標識元 (GUID),以識別屬性集。 透過此識別,應用程式會解譯集合所包含的屬性。

例如,文字處理器中的字元格式設定屬性或繪圖程式中元素的轉譯屬性是屬性集。

COM 會定義 IPropertySetStorage 介面,以利管理屬性集。 透過這個介面的方法,您可以建立新的屬性集,或開啟或刪除現有的屬性集。 此外,它提供一種方法,能夠建立一個列舉器並提供其 IEnumSTATPROPSETSTG 介面的指標。 您可以呼叫這個介面的方法,列舉物件上 STATPROPSETSTG 結構,這會提供有關物件上所有屬性集的資訊。

當您建立或開啟 IPropertyStorage的實例時,它類似於開啟支援 IStorageIStream的對象,因為您必須指定開啟介面的儲存模式。 針對 IStorage,這些包括交易模式、讀取/寫入模式和共用模式。

當您使用呼叫 IPropertySetStorage::Create建立屬性集時,請指定屬性集是否為簡單或非簡單。 簡單屬性集包含可在屬性集數據流中完整寫入的類型,其大小有限,而且在 Windows NT 4.0 和更早版本中不能大於 256 KB,或 Windows 2000、Windows XP 和 Windows Server 2003 中的 1 MB。 不過,當您需要在屬性集中儲存較大的資訊時,您可以指定屬性集非簡單。 這可讓您使用一或多個類型,這些類型僅指定指向儲存體或數據流物件的指標。 這些類型是VT_STREAM、VT_STREAMED OBJECT、VT_STORAGE和VT_STORED_OBJECT。

儲存在這些屬性中的數據不會計入 Windows NT 4.0 或更早版本中的 256 KB 屬性集大小限制,或 Windows 2000、Windows XP 和 Windows Server 2003 中的 1 MB 限制。 不過,屬性的相關數據,例如名稱,會套用。 此外,如果您需要進行事務更新,屬性集必須是複合屬性。 當然,開啟這些類型時會有效能上的損耗,因為這需要開啟與指標相關的數據流或儲存物件。

如果您的應用程式使用複合檔案,您可以使用這些介面的 COM 提供的實作,這些介面是在 COM 複合檔案儲存物件上實作。

每個屬性集主要是由邏輯連線的屬性群組所組成,如管理屬性 中所述。

如需 COM 中屬性集的詳細資訊,請參閱: