The IFillLockBytes interface enables downloading code to write data asynchronously to a structured storage byte array. When the downloading code has new data available, it calls IFillLockBytes::FillAppend or IFillLockBytes::FillAt to write the data to the byte array. An application attempting to access this data, through calls to the ILockBytes interface, can do so even as the downloader continues to make calls to IFillLockBytes. If the application attempts to access data that has not already been downloaded through a call to IFillLockBytes, then ILockBytes returns a new error, E_PENDING.
You normally would not implement this interface. A system developer that wants to provide asynchronous storage for a protocol other than http might implement IFillLockBytes as part of the transport layer.
You normally would not call this interface. Monikers or other downloading code that provide asynchronous storage use this interface to fill the byte array as data becomes available.
IUnknown Methods | Description |
---|---|
QueryInterface | Returns pointers to supported interfaces. |
AddRef | Increments reference count. |
Release | Decrements reference count. |
IFillLockBytes Methods | Description |
---|---|
FillAppend | Writes a new block of bytes to end of byte array. |
FillAt | Writes a new block of bytes to specified location in byte array. |
SetFillSize | Sets expected size of byte array. |
Terminate | Notifies byte array wrapper of successful or unsuccessful termination of download. |
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in objidl.h.
IConnectionPoint, IConnectionPointContainer, ILockBytes, IProgressNotify, IStorage, IStream
Also see IBinding and IBindStatusCallback in the ActiveX™ SDK.