OleLoadPictureEx 函数 (olectl.h)
创建一个新的图片对象,并从流的内容初始化它。 这相当于调用 OleCreatePictureIndirect 并将 NULL 作为第一个参数,然后调用 IPersistStream::Load。
语法
WINOLECTLAPI OleLoadPictureEx(
[in] LPSTREAM lpstream,
[in] LONG lSize,
[in] BOOL fRunmode,
[in] REFIID riid,
[in] DWORD xSizeDesired,
[in] DWORD ySizeDesired,
[in] DWORD dwFlags,
[out] LPVOID *lplpvObj
);
参数
[in] lpstream
指向包含图片数据的流的指针。
[in] lSize
应从流中读取的字节数;如果应读取整个流,则为零。
[in] fRunmode
与 KeepOriginalFormat 属性的初始值相反。 如果 为 TRUE, 则 KeepOriginalFormat 设置为 FALSE ,反之亦然。
[in] riid
对接口标识符的引用,描述在 ppvObj 中返回的接口指针的类型。
[in] xSizeDesired
图标或光标的所需宽度。 有效值为 16、32 和 48。 将LP_DEFAULT传递给这两个大小参数,以使用系统默认大小。
[in] ySizeDesired
图标或光标的所需高度。 有效值为 16、32 和 48。 将LP_DEFAULT传递给这两个大小参数,以使用系统默认大小。
[in] dwFlags
图标或光标的所需颜色深度。 值为LP_MONOCHROME (单色) 、LP_VGACOLOR (16 色) 、LP_COLOR (256 种颜色) ,或LP_DEFAULT (选择当前显示) 的最佳深度。
[out] lplpvObj
接收 riid 中请求的接口指针的指针变量的地址。 成功返回后,*ppvObj 在名字对象标识的存储上包含请求的接口指针。 如果 *ppvObj 为非 NULL,则此函数在接口上调用 IUnknown::AddRef ;调用方负责调用 IUnknown::Release。 如果发生错误,*ppvObj 设置为 NULL。
返回值
此函数在成功时返回S_OK。 其他可能的值包括以下内容。
返回代码 | 说明 |
---|---|
|
对象不支持 riid 中指定的接口。 |
|
pPictDesc 或 ppvObj 中的地址无效。 例如,它可能为 NULL。 |
注解
流必须采用 BMP (位图) 、WMF (图元文件) 或 ICO (图标) 格式。 使用 OleLoadPictureEx 创建的图片对象始终拥有其内部资源的所有权, (fOwn==TRUE 是隐式) 。
除了允许指定图标或光标大小外, OleLoadPictureEx 还支持加载颜色游标。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | olectl.h |
Library | OleAut32.lib |
DLL | OleAut32.dll |