ILockBytes::SetSize method (objidl.h)

The SetSize method changes the size of the byte array.

Syntax

HRESULT SetSize(
  [in] ULARGE_INTEGER cb
);

Parameters

[in] cb

Specifies the new size of the byte array as a number of bytes.

Return value

This method can return one of these values.

Return code Description
S_OK The size of the byte array was successfully changed.
STG_E_ACCESSDENIED The caller does not have permission to access the byte array.
STG_E_MEDIUMFULL The byte array size is not changed because there is no space left on the storage device.

Remarks

ILockBytes::SetSize changes the size of the byte array. If the cb parameter is larger than the current byte array, the byte array is extended to the indicated size by filling the intervening space with bytes of undefined value, as does ILockBytes::WriteAt, if the seek pointer is past the current end-of-stream.

If the cb parameter is smaller than the current byte array, the byte array is truncated to the indicated size.

Notes to Callers

Callers cannot rely on STG_E_MEDIUMFULL being returned at the appropriate time because of cache buffering in the operating system or network. However, callers must be able to deal with this return code because some ILockBytes implementations might support it.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidl.h
Library Uuid.lib
DLL Ole32.dll

See also

ILockBytes - File-Based Implementation

ILockBytes - Global Memory Implementation

ILockBytes::ReadAt

ILockBytes::WriteAt