ILockBytes::Flush
Ensures that any internal buffers maintained by the
ILockBytes implementation are written out to the
underlying physical storage.
HRESULT Flush(void);
Return Values
-
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 OLE-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.
See Also
IStorage::Commit,
ILockBytes&emdash;File-Based
Implementation,
ILockBytes&emdash;Global
Memory Implementation