IFillLockBytes::FillAt
Writes a new
block of data to a specified location in the byte array.
HRESULT FillAt(
ULARGE_INTEGER uIOffset |
// Offset from beginning of the byte array |
void const *pv |
// Data to be written |
ULONG cb |
// Number of bytes to be written |
ULONG *pcbWritten |
// Number of bytes that were successfully written |
); |
|
Parameters
uIOffset
[in] The
offset, expressed in number of bytes, from the first element of the byte array.
pv
[in] Points
to the data to be written at the location specified by uIOffset.
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 in addition to the following:
E_NOTIMPL
The byte
array does not support FillAt.
Remarks
The FillAt
method is used for nonsequential downloading (for example, http byte range
requests). In nonsequential downloading the caller specifies ranges in the byte
array where various blocks of data are to be written. Subsequent calls by the
compound file implementation to ILockBytes::ReadAt are passed by the
byte array wrapper object s own implementation of ILockBytes to the
underlying byte array. This method is not currently implemented and will return
E_NOTIMPL.
Note The
system-supplied IFillLockBytes implementation does not support FillAt and
returns E_NOTIMPL.
See Also