OleCreatePictureIndirect 函数 (olectl.h)

创建根据 PICTDESC 结构初始化的新图片对象。

语法

WINOLECTLAPI OleCreatePictureIndirect(
  [in]  LPPICTDESC lpPictDesc,
  [in]  REFIID     riid,
  [in]  BOOL       fOwn,
  [out] LPVOID     *lplpvObj
);

参数

[in] lpPictDesc

指向调用方分配的结构的指针,该结构包含图片的初始状态。 如果图片需要通过 IPersistStream::Load 进行初始化,则指定的结构可以为 NULL 以创建未初始化的对象。

[in] riid

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

[in] fOwn

如果 为 TRUE,则图片对象在销毁对象时销毁其图片。 如果 为 FALSE,则调用方负责销毁图片。

[out] lplpvObj

接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,此参数包含新创建对象上请求的接口指针。 如果调用成功,则调用方负责在不再需要新对象时通过此接口指针调用 Release 。 如果调用失败,该值将设置为 NULL

返回值

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

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

注解

fOwn 参数指示图片是否要拥有其包含的图片的 GDI 图片句柄,以便图片对象在对象本身被销毁时销毁其图片。 该函数返回一个接口指针,指向 riid 参数中的调用方指定的新图片对象。 此调用中内置了 QueryInterface 。 调用方负责通过返回的接口指针调用 Release

要求

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

另请参阅

OleLoadPicture

PICTDESC