IFillLockBytes - Implementation

The system provides an IFillLockBytes implementation as part of the Compound Files implementation.

Downloading code can create an instance of an asynchronous Compound File object by calling StgOpenAsyncDocFileOnIFillLockBytes. Downloading code can also create an instance of an asynchronous byte array wrapper object on an existing file or byte array by calling either the StgGetIFillLockBytesOnFile function or the StgGetIFillLockBytesOnILockBytes function.

When to Use

Currently, URL monikers are the only users of the COM asynchronous storage implementation.


The following are the four methods of the IFillLockBytes implementation.


Writes a new block of bytes to the end of a byte array. The size of the block is specified as a parameter to FillAppend.


Writes a new block of data to a specified location in the byte array.


Sets the size of the byte array. Returns E_FAIL from calls to ILockBytes::ReadAt that attempt to access data beyond the upper limit specified by the method.


Informs the byte array that a download has been terminated, either successfully or unsuccessfully.