ILockBytes::Flush

This method ensures that any internal buffers maintained by the byte array object are written out to the backing storage.

At a Glance

Header file: Objbase.h
Windows CE versions: 2.0 and later

Syntax

HRESULT Flush( void );

Return Values

One of the values described in the following table is returned.

Value Description
S_OK The flush operation was successful.
STG_E_ACCESSDENIED The caller does not have permission to access the byte array.
STG_E_MEDIUMFULL The flush operation is not completed because there is no space left on the storage device.
E_FAIL General failure writing data.
STG_E_TOOMANYFILESOPEN Under certain circumstances, Flush does a dump-and-close to flush, which can lead to a return value of STG_E_TOOMANYFILESOPEN if no file handles are available.
STG_E_INVALIDHANDLE An underlying file has been prematurely closed, or the correct floppy disk has been replaced by an invalid one.

Remarks

ILockBytes::Flush flushes internal buffers to the underlying storage device.

The COM-provided implementation of compound files calls this method during a transacted commit operation to provide a two-phase commit process that protects against loss of data.