IOleCache::SetData 方法 (oleidl.h)
使用指定格式的数据和指定介质上的数据初始化缓存。
语法
HRESULT SetData(
[in] FORMATETC *pformatetc,
[in] STGMEDIUM *pmedium,
[in] BOOL fRelease
);
参数
[in] pformatetc
指向 FORMATETC 结构的指针,该结构指定要放置在缓存中的演示文稿数据的格式。
[in] pmedium
指向 STGMEDIUM 结构的指针,该结构指定包含演示文稿数据的存储介质。
[in] fRelease
指示方法完成后存储介质的所有权。 如果 fRelease 为 TRUE,则缓存将获取所有权,在媒体使用完成后释放媒体。 如果 fRelease 为 FALSE,则调用方保留所有权并负责释放媒体。 缓存只能在调用期间使用存储介质。
返回值
此方法在成功时返回S_OK。 其他可能的返回值包括以下内容。
返回代码 | 说明 |
---|---|
|
该值对 pformatetc-lindex> 无效。 目前仅支持 -1。 |
|
FORMATETC 结构无效。 |
|
该值对 pformatetc-tymed> 无效。 |
|
该值对 pformatetc-dwAspect> 无效。 |
|
存在未初始化的对象。 |
|
对象是静态的,pformatetc-ptd> 为非 NULL。 |
|
存储介质已满。 |
注解
当从剪贴板或通过拖放操作创建对象时,通常调用 IOleCache::SetData,并使用嵌入源数据创建对象。
IOleCache::SetData 和 IOleCache::InitCache 非常相似。 有两个main差异。 第一个区别是,虽然 IOleCache::InitCache 使用数据对象提供的表示格式初始化缓存, 但 IOleCache::SetData 使用单个格式初始化缓存。 其次, IOleCache::SetData 方法忽略 ADVF_NODATA 标志,而 IOleCache::InitCache 遵循此标志。
容器可以使用此方法维护对象的单个方面,例如对象的图标方面。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | oleidl.h |