OleLoadPicture 函数 (olectl.h)

创建一个新的图片对象,并从流的内容初始化它。 这相当于调用 OleCreatePictureIndirect 并将 NULL 作为第一个参数,然后调用 IPersistStream::Load

语法

WINOLECTLAPI OleLoadPicture(
  [in]  LPSTREAM lpstream,
  [in]  LONG     lSize,
  [in]  BOOL     fRunmode,
  [in]  REFIID   riid,
  [out] LPVOID   *lplpvObj
);

parameters

[in] lpstream

指向包含图片数据的流的指针。

[in] lSize

应从流中读取的字节数;如果应读取整个流,则为零。

[in] fRunmode

与 KeepOriginalFormat 属性的初始值相反。 如果 为 TRUE则 KeepOriginalFormat 设置为 FALSE ,反之亦然。

[in] riid

对接口标识符的引用,描述在 ppvObj 中返回的接口指针的类型。

[out] lplpvObj

接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,*ppvObj 在名字对象标识的存储上包含请求的接口指针。 如果 *ppvObj 为非 NULL,则此函数在接口上调用 IUnknown::AddRef ;调用方负责调用 IUnknown::Release。 如果发生错误,*ppvObj 设置为 NULL

返回值

此函数在成功时返回S_OK。 其他可能的值包括以下内容。

返回代码 说明
E_NOINTERFACE
对象不支持指定的接口。
E_POINTER
流无效。 例如,它可能为 NULL

注解

流必须采用 BMP (位图) 、WMF (图元文件) 或 ICO (图标) 格式。 使用 OleLoadPicture 创建的图片对象始终拥有其内部资源的所有权, (fOwn==TRUE 是隐式) 。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 olectl.h
Library OleAut32.lib
DLL OleAut32.dll

请参阅

OleCreatePictureIndirect

PICTDESC