ILockBytes::Flush メソッド (objidl.h)

Flush メソッドを使用すると、ILockBytes 実装によって維持される内部バッファーが、基になる物理ストレージに確実に書き込まれます。

構文

HRESULT Flush();

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK フラッシュ操作が成功しました。
STG_E_ACCESSDENIED 呼び出し元には、バイト配列にアクセスするためのアクセス許可がありません。
STG_E_MEDIUMFULL ストレージ デバイスに空き領域がないため、フラッシュ操作は完了しません。
E_FAIL データの書き込みに関する一般的なエラー。
STG_E_TOOMANYFILESOPEN 特定の状況では、 Flush メソッドはダウンロードと closeto フラッシュを実行します。これにより、使用可能なファイル ハンドルがない場合は、STG_E_TOOMANYFILESOPENの戻り値が返される可能性があります。
STG_E_INVALIDHANDLE 基になるファイルが途中で閉じられたか、正しいフロッピー ディスクが無効なファイルに置き換えられました。

注釈

ILockBytes::Flush は 、内部バッファーを基になるストレージ デバイスにフラッシュします。

COM が提供する複合ファイルの実装では、トランザクション コミット操作中にこのメソッドが呼び出され、データの損失から保護する 2 フェーズコミット プロセスが提供されます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー objidl.h
Library Uuid.lib
[DLL] Ole32.dll

こちらもご覧ください

ILockBytes - File-Based 実装

ILockBytes - グローバル メモリ実装

IStorage::Commit