ILockBytes::WriteAt
A version of this page is also available for
4/8/2010
This method writes a specified number of bytes to a specified location in the array.
Syntax
HRESULT WriteAt(
ULARGE_INTEGER ulOffset,
void const* pv,
ULONG cb,
ULONG* pcbWritten
);
Parameters
- ulOffset
[in] Starting point from the beginning of the byte array for the data to be written.
- pv
[in] Pointer to the buffer that contains the data to be written.
- cb
[in] Number of bytes of data to attempt to write into the byte array.
pcbWritten
[out] Pointer to a location where this method specifies the actual number of bytes written to the byte array.You can set this pointer to NULL to indicate that you are not interested in this value. In this case, this method does not provide the actual number of bytes written.
Return Value
The following table shows the return values for this method.
Value | Description |
---|---|
S_OK |
Indicates that the specified number of bytes were written. |
E_FAIL |
A general failure occurred during the write. |
E_PENDING |
Asynchronous Storage only: Part or all of the data to be written is currently unavailable. |
STG_E_ACCESSDENIED |
The caller does not have sufficient permissions for writing this byte array. |
STG_E_WRITEFAULT |
The number of bytes to be written does not equal the number of bytes that were actually written. |
STG_E_MEDIUMFULL |
The write operation was not completed because there is no space left on the storage device. The number of bytes written is still returned in pcbWritten. |
Remarks
ILockBytes::WriteAt writes the specified data at the specified location in the byte array. The number of bytes written must always be returned in pcbWritten, even if an error is returned.
If the byte count is zero bytes, the write operation has no effect.
If ulOffset is past the end of the byte array and cb is greater than zero, ILockBytes::WriteAt increases the size of the byte array.
The fill bytes written to the byte array are not initialized to any particular value.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Requirements
Header | objidl.h, objidl.idl |
Library | ole32.lib, uuid.lib |
Windows Embedded CE | Windows CE 2.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |