IStorage 介面 (objidl.h)
IStorage 介面支援建立和管理結構化儲存物件。 結構化記憶體允許在單一檔案內階層儲存資訊,而且通常稱為「檔案內的文件系統」。 結構化儲存物件的元素是記憶體和數據流。 記憶體類似於目錄,而數據流類似於檔案。 在結構化記憶體內,將會有一個主要記憶體物件可能包含子記憶體、可能巢狀和數據流。 記憶體會提供 對象的結構,而數據流包含透過 IStream 介面操作的數據。
IStorage 介面提供建立和管理根儲存物件、子儲存物件和數據流物件的方法。 這些方法可以建立、開啟、列舉、移動、複製、重新命名或刪除記憶體物件中的專案。
當應用程式使用記憶體物件完成時,必須釋放其 IStorage 指標,以解除分配所使用的記憶體。 另外還有方法可用來變更專案的日期和時間。
有數種不同的模式可以開啟儲存物件及其元素,方法是從 STGM 常數設定值來決定。 其中一個層面是認可變更的方式。 您可以設定直接模式,其中對象的變更會立即寫入物件,或交易模式,其中變更會寫入緩衝區,直到明確認可為止。 IStorage 介面提供方法來認可變更,並還原為最後一個認可的版本。 例如,數據流可以在只讀模式或讀取/寫入模式中開啟。 如需詳細資訊,請參閱 STGM 常數。
其他方法可透過 STATSTG 結構存取記憶體物件及其元素的相關信息。
繼承
IStorage 介面繼承自 IUnknown 介面。 IStorage 也有下列類型的成員:
方法
IStorage 介面具有這些方法。
IStorage::Commit Commit 方法可確保對交易模式中開啟的記憶體物件所做的任何變更,都反映在父記憶體中。 |
IStorage::CopyTo 將開啟儲存物件的整個內容複製到另一個儲存物件。 |
IStorage::CreateStorage 建立並開啟這個儲存物件內巢狀的新儲存物件,此儲存物件在指定的存取模式中具有指定的名稱。 |
IStorage::CreateStream 建立並開啟包含在此記憶體物件中指定名稱的數據流物件。 |
IStorage::D estroyElement 從這個儲存物件中移除指定的記憶體或數據流。 |
IStorage::EnumElements EnumElements 方法會擷取列舉值物件的指標,可用來列舉此儲存物件中包含的儲存和數據流物件。 |
IStorage::MoveElementTo MoveElementTo 方法會將子記憶體或數據流從這個儲存物件複製到另一個儲存物件。 |
IStorage::OpenStorage 在指定的存取模式中,開啟具有指定名稱的現有儲存物件。 |
IStorage::OpenStream 在指定的存取模式中,開啟這個儲存物件中的現有數據流物件。 |
IStorage::RenameElement RenameElement 方法會重新命名這個記憶體物件中指定的子記憶體或數據流。 |
IStorage::Revert Revert 方法會捨棄自上次認可作業之後對記憶體物件所做的所有變更。 |
IStorage::SetClass SetClass 方法會將指定的類別標識子 (CLSID) 指派給這個儲存物件。 |
IStorage::SetElementTimes 如果基礎文件系統支援這個方法,SetElementTimes 方法會設定指定儲存元素的修改、存取和建立時間。 |
IStorage::SetStateBits SetStateBits 方法會儲存此記憶體物件中最多 32 位的狀態資訊。 |
IStorage::Stat Stat 方法會擷取這個開啟儲存物件的 STATSTG 結構。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | objidl.h |