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

另請參閱

EnumAll 範例

範例