The system provides an IFillLockBytes implementation as part of its existing implementation of Compound Files. Downloading code can instantiate an asynchronous Compound File object by calling StgOpenAsyncDocFileOnIFillLockBytes and can instantiate an asynchronous byte array wrapper object on an existing file or byte array by calling either the StgGetIFillLockBytesOnFile function or the StgGetIFillLockBytesOnILockBytes function.
Currently, URL monikers are the only users of COM's asynchronous storage implementation.