# IFillLockBytes::FillAppend

Writes a new block of bytes to the end of a byte array.

HRESULT FillAppend(

void const *pv | // Data to be appended to byte array
ULONG cb | // Number of bytes to be appended
ULONG *pcbWritten | // Number of bytes that were successfully appended
); |

Parameters

pv
  [in] Points to the data to be appended to the end of an existing byte array.
cb
  [in] Size of pv in bytes.
pcbWritten
  [out] Number of bytes that were successfully written.

Return Values

This function supports the standard return values E_OUTOFMEMORY, E_UNEXPECTED, E_INVALIDARG, and E_FAIL.

Remarks

The FillAppend method is used for sequential downloading, where bytes are written to the end of the byte array in the order in which they are received. This method obtains the current size of the byte array (i.e., lockbytes object) and writes a new block of data to the end of the array. As each block of data becomes available, the downloader calls this method to write it to the byte array. Subsequent calls by the compound file implementation to ILockBytes::ReadAt return any available data or return E_PENDING if data is currently unavailable.

See Also

ILockBytes