OleLoadPicture解释

    技术2022-06-13  80

    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).

     


    最新回复(0)