結構化儲存體
結構化儲存體技術的概觀。
若要開發結構化儲存體,您需要下列標頭:
如需這項技術的程式設計指導方針,請參閱:
列舉
LOCKTYPE LOCKTYPE 列舉值表示針對指定位元組範圍所要求的鎖定類型。 這些值會用於 ILockBytes::LockRegion 和 IStream::LockRegion 方法中。 |
STATFLAG 指出方法是否應該嘗試在 STATSTG 結構的 pwcsName 成員中傳回名稱。 |
STGC 指定在 IStorage::Commit 和 IStream::Commit 方法中執行認可作業的條件。 |
STGMOVE 指出要移動或複製儲存專案。 |
STGTY STGTY 列舉值用於 STATSTG 結構的型別成員中,以指出儲存元素的類型。 儲存專案是儲存體物件、資料流程物件或位元組陣列物件, (LOCKBYTES) 。 |
STREAM_SEEK STREAM_SEEK列舉值會指定要計算新搜尋指標位置的來源。 |
函式
BeginMonitor BeginMonitor 方法可用來開始監視載入作業時。 當作業完成時,應用程式必須呼叫 ILayoutStorage::EndMonitor。 |
複製 建立新的列舉值,其中包含與目前 STATSTG 結構列舉值相同的列舉狀態。 |
複製 Clone 方法會建立新的資料流程物件,其本身的搜尋指標會參考與原始資料流程相同的位元組。 |
複製 IEnumSTATPROPSETSTG::Clone 方法會建立列舉值,其中包含與目前 STATPROPSETSTG 結構列舉值相同的列舉狀態。 |
複製 IEnumSTATPROPSTG::Clone 方法會建立列舉值,其中包含與目前 STATPROPSTG 結構列舉值相同的列舉狀態。 |
複製 IEnumSTATPROPSETSTG::Clone 方法會建立列舉值,其中包含與目前 STATPROPSETSTG 結構列舉值相同的列舉狀態。 |
複製 IEnumSTATPROPSTG::Clone 方法會建立列舉值,其中包含與目前 STATPROPSTG 結構列舉值相同的列舉狀態。 |
認可 Commit 方法可確保對在交易模式中開啟的儲存體物件所做的任何變更,都反映在父儲存體中。 |
認可 Commit 方法可確保對在交易模式中開啟的資料流程物件所做的任何變更都反映在父儲存體中。 |
認可 IPropertyStorage::Commit 方法會將對屬性儲存物件所做的變更儲存至父儲存體物件。 |
認可 IPropertyStorage::Commit 方法會將對屬性儲存物件所做的變更儲存至父儲存體物件。 |
CopyTo 將開啟儲存物件的整個內容複寫到另一個儲存物件。 |
CopyTo 從資料流中目前的搜尋指標將指定的位元組數目複製到另一個資料流中目前的搜尋指標。 |
建立 在屬性集儲存物件中建立並開啟新的屬性集。 |
CreateILockBytesOnHGlobal 建立位元組陣列物件,該物件會使用 HGLOBAL 記憶體控制碼來儲存用於複合檔案記憶體內部儲存體的位元組。 |
CreateStorage 建立並開啟此儲存物件內巢狀的新儲存物件,該物件具有指定存取模式中的指定名稱。 |
CreateStream 建立並開啟包含在此儲存體物件中指定名稱的資料流程物件。 |
CreateStreamOnHGlobal 建立使用 HGLOBAL 記憶體控制碼來儲存資料流程內容的資料流程物件。 |
刪除 Delete 方法會刪除屬性集儲存物件中包含的其中一個屬性集。 |
DeleteMultiple IPropertyStorage::D eleteMultiple 方法會刪除這個屬性集記憶體在的許多指示屬性。 |
DeleteMultiple IPropertyStorage::D eleteMultiple 方法會刪除在屬性集中存在的許多指示屬性。 |
DeletePropertyNames DeletePropertyNames 方法會從目前屬性集刪除指定的字串名稱。 (IPropertyStorage.DeletePropertyNames) |
DeletePropertyNames IPropertyStorage::D eletePropertyNames 方法會從目前屬性集刪除指定的字串名稱。 |
DestroyElement 從這個儲存物件中移除指定的儲存體或資料流程。 |
EndMonitor EndMonitor 方法會結束複合檔案的監視。 必須在前面呼叫 ILayoutStorage::BeginMonitor。 |
列舉 Enum 方法會建立列舉值物件,其中包含儲存在此屬性集儲存體中的屬性集資訊。 傳回時,這個方法會提供列舉值物件上 IEnumSTATPROPSETSTG 指標的指標。 |
列舉 IPropertyStorage::Enum 方法會建立列舉值物件,其設計目的是列舉類型為 STATPROPSTG 的資料,其中包含目前屬性集的相關資訊。 |
列舉 IPropertyStorage::Enum 方法會建立列舉值物件,其設計目的是列舉類型為 STATPROPSTG 的資料,其中包含目前屬性集的相關資訊。 |
EnumElements EnumElements 方法會擷取列舉值物件的指標,此物件可用來列舉此儲存物件中包含的儲存和串流物件。 |
FillAppend FillAppend 方法會將新的位元組區塊寫入位元組陣列的結尾。 |
FillAt FillAt 方法會將新的資料區塊寫入位元組陣列中指定的位置。 |
清除 Flush 方法可確保 ILockBytes 實作所維護的任何內部緩衝區都會寫出至基礎實體儲存體。 |
FmtIdToPropStgName 將屬性集格式識別碼 (FMTID) 轉換成其儲存體或資料流程名稱。 |
FreePropVariantArray FreePropVariantArray 函式會在 rgvars 陣列中的每個 PROPVARIANT 結構上呼叫 PropVariantClear,使陣列的每個成員的值為零。 |
GetConvertStg GetConvertStg 函式會傳回指定儲存物件之轉換位的目前值。 |
GetHGlobalFromILockBytes GetHGlobalFromILockBytes 函式會擷取使用 CreateILockBytesOnHGlobal 函式建立之位元組陣列物件的全域記憶體控制碼。 |
GetHGlobalFromStream GetHGlobalFromStream 函式會擷取透過呼叫 CreateStreamOnHGlobal 函式所建立之資料流程的全域記憶體控制碼。 |
HaveWriteAccess HasWriteAccess 方法會指出是否已取得寫入鎖定。 |
LayoutScript LayoutScript 方法會提供明確指示來重新排序複合檔案中的儲存體、資料流程和控制項,以符合下載期間存取它們的順序。 |
LockRegion LockRegion 方法會限制對位元組陣列中指定位元組範圍的存取。 |
LockRegion LockRegion 方法會限制存取資料流程中指定的位元組範圍。 |
MoveElementTo MoveElementTo 方法會將子儲存體或資料流程從這個儲存物件複製到另一個儲存物件。 |
下一步 擷取列舉序列中後續的指定 STATSTG 結構數目。 |
下一步 IEnumSTATPROPSETSTG::Next 方法會擷取指定數目的 STATPROPSETSTG 結構,之後在列舉序列中接著。 |
下一步 IEnumSTATPROPSTG::Next 方法會擷取指定數目的 STATPROPSTG 結構,後續會在列舉序列中接著。 |
下一步 IEnumSTATPROPSETSTG::Next 方法會擷取指定數目的 STATPROPSETSTG 結構,之後在列舉序列中接著。 |
下一步 IEnumSTATPROPSTG::Next 方法會擷取指定數目的 STATPROPSTG 結構,後續會在列舉序列中接著。 |
OleConvertIStorageToOLESTREAM OleConvertIStorageToOLESTREAM 函式會將指定的儲存物件從 OLE 2 結構化儲存體轉換為 OLE 1 儲存物件模型,但不包含呈現資料。 這是數個相容性函式的其中一個。 |
OleConvertIStorageToOLESTREAMEx OleConvertIStorageToOLESTREAMEx 函式會將指定的儲存物件從 OLE 2 結構化儲存體轉換為 OLE 1 儲存物件模型,包括呈現資料。 |
OleConvertOLESTREAMToIStorage 將指定的物件從 OLE 1 儲存模型轉換為 OLE 2 結構化儲存物件,而不需要指定簡報資料。 |
OleConvertOLESTREAMToIStorageEx OleConvertOLESTREAMToIStorageEx 函式會將指定的物件從 OLE 1 儲存模型轉換為包含呈現資料的 OLE 2 結構化儲存物件。 這是數個相容性函式的其中一個。 |
開啟 開啟包含在屬性集儲存物件中的屬性集。 |
OpenStorage 在指定的存取模式中,開啟具有指定名稱的現有儲存物件。 |
OpenStream 在指定的存取模式中,開啟這個儲存物件中的現有資料流程物件。 |
PropStgNameToFmtId 將屬性集儲存體或資料流程名稱轉換為其格式識別碼。 |
PropVariantClear 釋放可在指定 PROPVARIANT 結構中釋放的所有元素。 |
PropVariantCopy PropVariantCopy 函式會將一個 PROPVARIANT 結構的內容複寫到另一個。 |
PropVariantInit PropVariantInit 函式會初始化 PROPVARIANT 結構。注意 此函式會實作為宏,可藉由包含提供的 ole2.h 標頭檔來取得。 |
讀取 從資料流程物件讀取指定的位元組數目到記憶體,從目前的搜尋指標開始。 |
ReadAt ReadAt 方法會從位元組陣列物件的開頭的指定位移開始讀取指定的位元組數目。 |
ReadClassStg ReadClassStg 函式會讀取先前使用 WriteClassStg 函式寫入儲存體物件的 CLSID。 |
ReadClassStm 讀取先前使用 WriteClassStm 函式寫入資料流程物件的 CLSID。 |
ReadFmtUserTypeStg ReadFmtUserTypeStg 函式會傳回先前與 WriteFmtUserTypeStg 函式一起儲存的剪貼簿格式和使用者類型。 |
ReadMultiple IPropertyStorage::ReadMultiple 方法會從目前屬性集讀取指定的屬性。 |
ReadMultiple IPropertyStorage::ReadMultiple 方法會從目前屬性集讀取指定的屬性。 |
ReadPropertyNames IPropertyStorage::ReadPropertyNames 方法會擷取指定屬性識別碼的任何現有字串名稱。 |
ReadPropertyNames IPropertyStorage::ReadPropertyNames 方法會擷取指定屬性識別碼的任何現有字串名稱。 |
ReLayoutDocfile ReLayoutDocfile 方法會使用透過監視取得的版面配置腳本,或透過明確版面配置腳本提供來重寫複合檔案,以建立新的複合檔案。 |
ReLayoutDocfileOnILockBytes 未實作。 如果呼叫,它會傳回STG_E_UNIMPLEMENTEDFUNCTION。 |
ReleaseWriteAccess ReleaseWriteAccess 方法會釋放先前取得的寫入鎖定。 |
RenameElement RenameElement 方法會重新命名這個儲存體物件中指定的子儲存體或資料流程。 |
重設 將列舉序列重設為 STATSTG 結構陣列的開頭。 |
重設 IEnumSTATPROPSETSTG::Reset 方法會將列舉順序重設為 STATPROPSETSTG 結構陣列的開頭。 |
重設 IEnumSTATPROPSTG::Reset 方法會將列舉順序重設為 STATPROPSTG 結構陣列的開頭。 |
重設 IEnumSTATPROPSETSTG::Reset 方法會將列舉順序重設為 STATPROPSETSTG 結構陣列的開頭。 |
重設 IEnumSTATPROPSTG::Reset 方法會將列舉順序重設為 STATPROPSTG 結構陣列的開頭。 |
恢復 Revert 方法會捨棄自上次認可作業之後對儲存體物件所做的所有變更。 |
恢復 Revert 方法會捨棄自上次 IStream::Commit 呼叫之後對交易資料流程所做的所有變更。 在直接模式中開啟的資料流程,並使用 IStream::Revert 的 COM 複合檔案實作進行資料流程時,這個方法沒有任何作用。 |
恢復 IPropertyStorage::Revert 方法會捨棄自上次開啟後對具名屬性集的所有變更,或捨棄上次認可至屬性集的變更。 |
恢復 IPropertyStorage::Revert 方法會捨棄自上次開啟後對具名屬性集的所有變更,或捨棄上次認可至屬性集的變更。 |
Seek 變更新位置的搜尋指標。 新位置相對於資料流程的開頭、資料流程結尾或目前的搜尋指標。 |
SetClass SetClass 方法會將指定的類別識別碼 (CLSID) 指派給這個儲存物件。 |
SetClass IPropertyStorage::SetClass 方法會將新的 CLSID 指派給目前的屬性儲存物件,並持續儲存 CLSID 與 物件。 |
SetClass IPropertyStorage::SetClass 方法會將新的 CLSID 指派給目前的屬性儲存物件,並持續儲存 CLSID 與 物件。 |
SetConvertStg SetConvertStg 函式會設定儲存物件中的轉換位,表示物件在開啟時要轉換成新類別。 您可以透過呼叫 GetConvertStg 函式來擷取設定。 |
SetElementTimes 如果基礎檔案系統支援這個方法,SetElementTimes 方法會設定指定儲存元素的修改、存取和建立時間。 |
SetFillSize SetFillSize 方法會設定位元組陣列的預期大小。 |
SetSize SetSize 方法會變更位元組陣列的大小。 |
SetSize 變更資料流物件的大小。 |
SetStateBits SetStateBits 方法會儲存此儲存體物件中最多 32 位的狀態資訊。 |
SetTimes 如果實作支援,IPropertyStorage::SetTimes 方法會設定此屬性集的修改、存取和建立時間。 |
SetTimes 如果實作支援,IPropertyStorage::SetTimes 方法會設定此屬性集的修改、存取和建立時間。 |
Skip 略過列舉序列中指定數目的 STATSTG 結構。 |
Skip IEnumSTATPROPSETSTG::Skip 方法會略過列舉序列中指定數目的 STATPROPSETSTG 結構。 (IEnumSTATPROPSETSTG.Skip) |
Skip IEnumSTATPROPSTG::Skip 方法會略過列舉序列中指定的 STATPROPSTG 結構數目。 (IEnumSTATPROPSTG.Skip) |
Skip IEnumSTATPROPSETSTG::Skip 方法會略過列舉序列中指定數目的 STATPROPSETSTG 結構。 |
Skip IEnumSTATPROPSTG::Skip 方法會略過列舉序列中指定的 STATPROPSTG 結構數目。 |
統計資料 Stat 方法會擷取包含這個位元組陣列物件資訊的 STATSTG 結構。 |
統計資料 Stat 方法會擷取這個開啟儲存物件的 STATSTG 結構。 |
統計資料 Stat 方法會擷取此資料流程的 STATSTG 結構。 |
統計資料 IPropertyStorage::Stat 方法會擷取目前開啟屬性集的相關資訊。 (IPropertyStorage.Stat) |
統計資料 IPropertyStorage::Stat 方法會擷取目前開啟屬性集的相關資訊。 (IPropertyStorage.Stat) |
StgConvertPropertyToVariant 將 SERIALIZEDPROPERTYVALUE 資料類型轉換為 PROPVARIANT 資料類型。 |
StgConvertVariantToProperty 將 PROPVARIANT 資料類型轉換為 SERIALIZEDPROPERTYVALUE 資料類型。 |
StgCreateDocfile 使用 IStorage 介面的 COM 提供的複合檔案實作,建立新的複合檔案儲存物件。 |
StgCreateDocfileOnILockBytes 在呼叫端提供的位元組陣列物件之上,建立並開啟新的複合檔案儲存物件。 |
StgCreatePropSetStg 從指定的儲存物件建立屬性集儲存物件。 |
StgCreatePropStg 在指定的儲存體或資料流程物件中建立並開啟屬性集。 |
StgCreateStorageEx 使用 IStorage 或 IPropertySetStorage 介面提供的實作,建立新的儲存體物件。 |
StgDeserializePropVariant StgDeserializePropVariant 函式會將 SERIALIZEDPROPERTYVALUE 資料類型轉換為 PROPVARIANT 資料類型。 |
StgGetIFillLockBytesOnFile 在暫存檔案上開啟包裝函式物件。 |
StgGetIFillLockBytesOnILockBytes 在呼叫端提供的位元組陣列物件上建立新的包裝函式物件。 |
StgIsStorageFile StgIsStorageFile 函式會指出特定磁片檔案是否包含儲存體物件。 |
StgIsStorageILockBytes StgIsStorageILockBytes 函式會指出指定的位元組陣列是否包含儲存體物件。 |
StgOpenAsyncDocfileOnIFillLockBytes 在呼叫端提供的位元組陣列包裝函式物件上開啟現有的根非同步儲存物件。 |
StgOpenLayoutDocfile 在能夠監視磁區資料的 ILockBytes 實作上開啟複合檔案。 |
StgOpenPropStg 在指定的儲存或資料流程物件中開啟指定的屬性集。 |
StgOpenStorage 在檔案系統中開啟現有的根儲存體物件。 |
StgOpenStorageEx 在檔案系統中開啟現有的根儲存體物件。 使用此函式開啟複合檔案和一般檔案。 |
StgOpenStorageOnILockBytes StgOpenStorageOnILockBytes 函式會開啟不存在於磁片檔案中的現有儲存體物件,而是具有呼叫端所提供的基礎位元組陣列。 |
StgPropertyLengthAsVariant StgPropertyLengthAsVariant 函式會檢查 SERIALIZEDPROPERTYVALUE,並傳回此屬性會佔用為 PROPVARIANT 的記憶體數量。 |
StgSerializePropVariant StgSerializePropVariant 函式會將 PROPVARIANT 資料類型轉換成 SERIALIZEDPROPERTYVALUE 資料類型。 |
StgSetTimes 如果基礎檔案系統支援,StgSetTimes 函式會設定所指出檔案的建立、存取和修改時間。 |
SwitchToFile SwitchToFile 方法會將與儲存體物件相關聯的目前檔案複製到新檔案。 |
終止 Terminate 方法會通知位元組陣列下載已成功或失敗。 |
UnlockRegion UnlockRegion 方法會移除先前鎖定位元組範圍的存取限制。 |
UnlockRegion UnlockRegion 方法會移除先前受 IStream::LockRegion 限制之位元組範圍的存取限制。 |
WaitForWriteAccess WaitForWriteAccess 方法會取得儲存體物件的獨佔寫入權限。 |
寫入 將指定的位元組數目寫入資料流物件中目前搜尋指標開始處。 |
WriteAt WriteAt 方法會寫入從位元組陣列開頭的指定位移開始的指定位元組數目。 |
WriteClassStg WriteClassStg 函式會將指定的類別識別碼儲存在儲存體物件中, (CLSID) 。 |
WriteClassStm WriteClassStm 函式會將指定的 CLSID 儲存在資料流程中。 |
WriteFmtUserTypeStg WriteFmtUserTypeStg 函式會將剪貼簿格式和使用者類型寫入儲存體物件。 |
WriteMultiple IPropertyStorage::WriteMultiple 方法會將指定的屬性群組寫入目前屬性集。 |
WriteMultiple IPropertyStorage::WriteMultiple 方法會將指定的屬性群組寫入目前屬性集。 |
WritePropertyNames IPropertyStorage::WritePropertyNames 方法會將字串 IPropertyStoragenames 指派給目前屬性集中的指定屬性識別碼陣列。 |
WritePropertyNames IPropertyStorage::WritePropertyNames 方法會將字串 IPropertyStoragenames 指派給目前屬性集中的指定屬性識別碼陣列。 |
介面
IDirectWriterLock IDirectWriterLock 介面可讓單一寫入器取得直接模式中開啟之根儲存體物件的獨佔寫入權限,同時允許多個讀取器平行存取。 |
IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG 介面會逐一查看 STATPROPSETSTG 結構的陣列,其中包含目前 IPropertySetStorage 實例所管理之屬性集的相關統計資料。 |
IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG 介面會逐一查看 STATPROPSETSTG 結構的陣列,其中包含目前 IPropertySetStorage 實例所管理之屬性集的相關統計資料。 |
IEnumSTATPROPSTG IEnumSTATPROPSTG 介面會逐一查看 STATPROPSTG 結構的陣列。 STATPROPSTG 結構包含屬性集中屬性的相關統計資料。 |
IEnumSTATPROPSTG IEnumSTATPROPSTG 介面會逐一查看 STATPROPSTG 結構的陣列,其中包含屬性集中屬性的相關統計資料。 |
IEnumSTATSTG 列舉 STATSTG 結構的陣列。 |
IFillLockBytes IFillLockBytes 介面可讓您下載程式代碼,以非同步方式將資料寫入結構化儲存體位元組陣列。 |
ILayoutStorage ILayoutStorage 介面可讓應用程式優化其複合檔案的配置,以有效率地跨低速連結下載。 |
ILockBytes ILockBytes 介面是在由某些實體儲存體支援的位元組陣列物件上實作,例如磁片檔案、全域記憶體或資料庫。 |
IPropertySetStorage IPropertySetStorage 介面會建立、開啟、刪除和列舉支援 IPropertyStorage 介面實例的屬性集儲存體。 |
IPropertyStorage IPropertyStorage 介面會管理單一屬性集的持續性屬性。 (IPropertyStorage 介面) |
IPropertyStorage IPropertyStorage 介面會管理單一屬性集的持續性屬性。 (IPropertyStorage 介面) |
IRootStorage IRootStorage 介面包含單一方法,可將儲存物件切換至不同的基礎檔案,並將儲存體物件儲存至該檔案。 |
ISequentialStream ISequentialStream 介面支援簡化資料流程物件的循序存取。 IStream 介面會從 ISequentialStream 繼承其讀取和寫入方法。 |
IStorage IStorage 介面支援建立和管理結構化儲存物件。 |
IStream IStream 介面可讓您讀取和寫入資料至資料流程物件。 |
結構
PROPSPEC PROPSPEC 結構是由 IPropertyStorage 的許多方法使用,藉由其屬性識別碼 (識別碼) 或相關聯的字串名稱來指定屬性。 |
PROPSPEC PROPSPEC 結構是由 IPropertyStorage 的許多方法使用,藉由其屬性識別碼 (識別碼) 或相關聯的字串名稱來指定屬性。 |
PROPVARIANT PROPVARIANT 結構用於 IPropertyStorage 的 ReadMultiple 和 WriteMultiple 方法中,以定義屬性集中的型別標記和屬性值。 |
PROPVARIANT PROPVARIANT 結構用於 IPropertyStorage 的 ReadMultiple 和 WriteMultiple 方法中,以定義屬性集中的型別標記和屬性值。 |
RemSNB RemSNB 結構用於封送處理 SNB 資料類型。定義于 IStorage 介面 (Storag.idl) 。 |
STATPROPSETSTG STATPROPSETSTG 結構包含屬性集的相關資訊。 (STATPROPSETSTG 結構) |
STATPROPSETSTG STATPROPSETSTG 結構包含屬性集的相關資訊。 (STATPROPSETSTG 結構) |
STATPROPSTG STATPROPSTG 結構包含屬性集中單一屬性的相關資料。 此資料是屬性識別碼和類型標記,以及可能與 屬性相關聯的選擇性字串名稱。 |
STATPROPSTG STATPROPSTG 結構包含屬性集中單一屬性的相關資料。 此資料是屬性識別碼和類型標記,以及可能與 屬性相關聯的選擇性字串名稱。 |
STATSTG 包含有關開啟儲存體、資料流程或位元組陣列物件的統計資料。 |
STGOPTIONS 指定 StgCreateStorageEx 和 StgOpenStorageEx 函式中的儲存體物件功能,例如磁區大小。 |
StorageLayout 描述單一資料區塊,包括其名稱、位置和長度。 |