COleDataSource::CacheData
void CacheData( CLIPFORMAT cfFormat, LPSTGMEDIUM lpStgMedium, LPFORMATETC lpFormatEtc = NULL );
参数:
cfFormat
数据的返回格式。该参数可以是预定义剪贴板格式的一种或是WindowsRegisterClipboardFormat函数的返回值。
lpStgMedium
一个STGMEDIUM结构指针,该结构中包含有指定格式的数据。
lpFormatEtc
一个FORMATETC结构的指针,该结构说明数据的返回格式。如果你要在用cfFormat指定的剪贴板格式外指定另外的格式,给该参数提供一个值。如果该值为NULL,将使用FORMATETC结构的缺省值。
说明:
调用该函数指定在数据传输期间提供数据的格式。必须提供数据,因为该函数用立即提供的方式提供数据,直到需要时,数据一直放到缓存中。使用一个STGMEDIUM结构提供数据。同时,如果数据量足够小到能使用一个HGLOBAL 来有效地传输,也可以使用CacheGlobalData成员函数。
调用CacheData后,lpFormatEtc的ptd成员和lpStgMedium的内容由数据对象所有,而不是调用者所有。
使用延迟提供,可调用DelayRenderData或DelayRenderFileData成员函数。有关MFC处理的延迟提供的信息,请参阅《Visual C++ 程序员指南》中的“数据对象和数据源:操纵”。
要了解更多的信息,请参阅“OLE 2程序员参考(卷1)”中的STGMEDIUM和FORMATETC结构。
要了解更多的信息,请参阅Win32文档中的RegisterClipboardFormat。
请参阅:
COleDataSource::CacheGlobalData
,
COleDataSource::DelayRenderData
,
COleDataSource::DelayRenderFileData
,
COleDataSource::SetClipboard
,
COleDataSource::DoDragDrop