IPropertyStorage 介面會管理單一屬性集的持續性屬性。 永續性屬性包含可持續儲存在屬性集中的資訊,例如與檔案相關聯的摘要資訊。 這與與控件和自動化相關聯的運行時間屬性對比,可用來影響系統行為。 使用 IPropertySetStorage 介面的 方法來建立或開啟永續性屬性集。 IPropertySetStorage 介面的實例可以管理零或多個 IPropertyStorage 實例。
屬性集內的每個屬性都是由屬性標識碼 (標識子) 識別,這是該集合唯一的四位元組 ULONG 值。 您也可以透過 IPropertyStorage 介面將字串名稱指派給屬性。
屬性標識碼與自動化 dispid 屬性名稱標記中使用的分派標識碼不同。 其中一個差異在於屬性標識符值的一般用途用法為零,而 IPropertyStorage 中禁止使用一個,但 IDispatch 中沒有這類限制。 此外,雖然在可用於 IPropertyStorage 和 IDispatch 的屬性值數據類型之間有顯著的重疊,但屬性集並不相同。 IPropertyStorage 方法中使用的持續性屬性數據類型定義於 PROPVARIANT 結構中。
IPropertyStorage 介面可用來存取簡單和非簡單屬性集。 非簡單屬性集可以保存數個無法保留在簡單屬性集中的複雜屬性類型。 如需詳細資訊,請參閱屬性集的記憶體和 Stream 物件。
繼承
IPropertyStorage 介面繼承自 IUnknown 介面。 IPropertyStorage 也有下列類型的成員:
方法
IPropertyStorage 介面具有這些方法。
|
IPropertyStorage::Commit IPropertyStorage::Commit 方法會將對屬性儲存物件所做的變更儲存至父記憶體物件。 |
|
IPropertyStorage::D eleteMultiple IPropertyStorage::D eleteMultiple 方法會刪除這個屬性集中存在的指示屬性數目。 |
|
IPropertyStorage::D eletePropertyNames DeletePropertyNames 方法會從目前的屬性集刪除指定的字串名稱。 (IPropertyStorage.DeletePropertyNames) |
|
IPropertyStorage::Enum IPropertyStorage::Enum 方法會建立列舉值物件,其設計目的是列舉 STATPROPSTG 類型的數據,其中包含目前屬性集的相關信息。 |
|
IPropertyStorage::ReadMultiple IPropertyStorage::ReadMultiple 方法會從目前屬性集讀取指定的屬性。 |
|
IPropertyStorage::ReadPropertyNames IPropertyStorage::ReadPropertyNames 方法會擷取指定屬性識別碼的任何現有字串名稱。 |
|
IPropertyStorage::Revert IPropertyStorage::Revert 方法會捨棄自上次開啟后對具名屬性集的所有變更,或捨棄上次認可至屬性集的變更。 |
|
IPropertyStorage::SetClass IPropertyStorage::SetClass 方法會將新的 CLSID 指派給目前的屬性儲存物件,並持續儲存 CLSID 與 物件。 |
|
IPropertyStorage::SetTimes 如果實作支援,IPropertyStorage::SetTimes 方法會設定此屬性集的修改、存取和建立時間。 |
|
IPropertyStorage::Stat IPropertyStorage::Stat 方法會擷取目前開啟屬性集的相關信息。 (IPropertyStorage.Stat) |
|
IPropertyStorage::WriteMultiple IPropertyStorage::WriteMultiple 方法會將指定的屬性群組寫入目前的屬性集。 |
|
IPropertyStorage::WritePropertyNames IPropertyStorage::WritePropertyNames 方法會將字串 IPropertyStoragenames 指派給目前屬性集中的指定屬性標識符數位。 |
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
| 最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
| 目標平台 | Windows |
| 標頭 | propidl.h (包括 Objbase.h、Propidlbase.h) |