COleDataSource::OnSetData

virtual BOOL OnSetData( LPFORMATETC lpFormatEtc, LPSTGMEDIUM lpStgMedium, BOOL bRelease );

返回值:如果成功,则返回非零值;否则为0。

参数:
lpFormatEtc一个FORMATETC结构的指针,该结构指定数据被替换的格式。
lpStgMedium一个STGMEDIUM结构的指针,该结构包含着将要替换COleDataSource对象中的当前内容的数据。
bRelease指示在函数调用结束后谁拥有存储介质的所有权。调用者可以通过设置bRelease值来决定由谁负责将代表存储介质分配的资源释放掉。如果bRelease为非零值,数据资源拥有所有权,它将在使用完以后释放介质。如果bRelease为0,调用者保留所有权,数据资源只能在该调用期间使用介质。

说明:
框架调用指定格式设置或替代COleDataSource对象的数据。只有当数据资源成功获取到它的时候才会拥有它。也就是说,如果OnSetData返回0,它不拥有所有权。如果数据资源拥有了所有权,它通过调用ReleaseStgMedium函数释放存储介质。
该函数的缺省执行不做任何事情。覆盖该函数以用指定格式替代数据。
这是一个高级可覆盖函数。
要了解更多的信息,请参阅“OLE 2程序员参考(卷1)”中的STGMEDIUM和FORMATETC结构和ReleaseStgMedium和IdataObject::GetData函数。

请参阅:
COleDataSource::DelaySetData, COleDataSource::OnRenderData, COleDataSource::OnRenderFileData, COleDataSource::OnRenderGlobalData, COleServerItem::OnSetData