Share via


ILockBytes::Flush 方法 (objidl.h)

Flush 方法可確保 ILockBytes 實作所維護的任何內部緩衝區都會寫出到基礎實體記憶體。

Syntax

HRESULT Flush();

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK 排清作業成功。
STG_E_ACCESSDENIED 呼叫端沒有存取位元組陣列的許可權。
STG_E_MEDIUMFULL 排清作業未完成,因為儲存裝置上沒有剩餘的空間。
E_FAIL 寫入數據的一般失敗。
STG_E_TOOMANYFILESOPEN 在某些情況下, Flush 方法會執行下載和快取排清,如果沒有可用的檔句柄,可能會導致傳回值STG_E_TOOMANYFILESOPEN。
STG_E_INVALIDHANDLE 基礎檔案已提前關閉,或正確的磁碟片已被無效的磁碟取代。

備註

ILockBytes::Flush 會將內部緩衝區排清到基礎儲存裝置。

複合檔案的 COM 提供的實作會在交易認可作業期間呼叫這個方法,以提供雙階段認可程式,以防止數據遺失。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objidl.h
程式庫 Uuid.lib
Dll Ole32.dll

另請參閱

ILockBytes - File-Based 實作

ILockBytes - 全域記憶體實作

IStorage::Commit