OleLoadPicture
Creates a new picture object and initializes it from the contents of a stream. This is equivalent to calling OleCreatePictureIndirect(NULL, ...) followed by IPersistStream::Load.
STDAPI OleLoadPicture(
IStream * pStream,
//Pointer to the stream that contains picture's data
//指向包含图片数据的流
LONG lSize, //Number of bytes read from the stream
//读取pStream字节的长度
BOOL fRunmode,
//The opposite of the initial value of the picture's
// property
//与图片属性的初始化值相反
REFIID riid, //Reference to the identifier of the interface
// describing the type of interface pointer to return
//接口的参考类型,返回描述类型接口指针
VOID ppvObj //Address of output variable that receives interface
// pointer requested in riid
//返回指向需要riid的接口指针,为输出值
);
Parameters
pStream
[in] Pointer to the stream that contains the picture's data.
lSize
[in] Number of bytes that should be read from the stream, or zero if the entire stream should be read.
fRunmode
[in] The opposite of the initial value of the KeepOriginalFormat property. If TRUE, KeepOriginalFormat is set to FALSE and vice-versa.
//主要是和KeepOriginalFormat的属性相反
riid
[in] Reference to the identifier of the interface describing the type of interface pointer to return in ppvObj.
ppvObj
[out] 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 Values
This function supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:
S_OK
The picture was created successfully.
E_POINTER
The address in pStream or ppvObj is not valid. For example, either may be NULL.
E_NOINTERFACE
The object does not support the interface specified in riid.
Remarks
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).