OleLoadPicture function (olectl.h)

Creates a new picture object and initializes it from the contents of a stream. This is equivalent to calling OleCreatePictureIndirect with NULL as the first parameter, followed by a call to IPersistStream::Load.


  [in]  LPSTREAM lpstream,
  [in]  LONG     lSize,
  [in]  BOOL     fRunmode,
  [in]  REFIID   riid,
  [out] LPVOID   *lplpvObj


[in] lpstream

Pointer to the stream that contains the picture's data.

[in] lSize

The number of bytes that should be read from the stream, or zero if the entire stream should be read.

[in] fRunmode

The opposite of the initial value of the KeepOriginalFormat property. If TRUE, KeepOriginalFormat is set to FALSE and vice-versa.

[in] riid

Reference to the identifier of the interface describing the type of interface pointer to return in ppvObj.

[out] lplpvObj

Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, *ppvObj contains the requested interface pointer on the storage of the object identified by the moniker. If *ppvObj is non-NULL, this function calls IUnknown::AddRef on the interface; it is the caller's responsibility to call IUnknown::Release. If an error occurs, *ppvObj is set to NULL.

Return value

This function returns S_OK on success. Other possible values include the following.

Return code Description
The object does not support the specified interface.
The stream is not valid. For example, it may be NULL.


The stream must be in BMP (bitmap), WMF (metafile), or ICO (icon) format. A picture object created using OleLoadPicture always has ownership of its internal resources (fOwn==TRUE is implied).


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header olectl.h
Library OleAut32.lib
DLL OleAut32.dll

See also