virtual BOOL OnSetData( LPFORMATETC lpFormatEtc, LPSTGMEDIUM lpStgMedium, BOOL bRelease );
Return Value
Nonzero if successful; otherwise 0.
Parameters
lpFormatEtc
Points to the FORMATETC structure specifying the format in which data is being replaced.
lpStgMedium
Points to the STGMEDIUM structure containing the data that will replace the current contents of the COleDataSource object.
bRelease
Indicates who has ownership of the storage medium after completing the function call. The caller decides who is responsible for releasing the resources allocated on behalf of the storage medium. The caller does this by setting bRelease. If bRelease is nonzero, the data source takes ownership, freeing the medium when it has finished using it. When bRelease is 0, the caller retains ownership and the data source can use the storage medium only for the duration of the call.
Remarks
Called by the framework to set or replace the data in the COleDataSource object in the specified format. The data source does not take ownership of the data until it has successfully obtained it. That is, it does not take ownership if OnSetData returns 0. If the data source takes ownership, it frees the storage medium by calling the ReleaseStgMedium function.
The default implementation does nothing. Override this function to replace the data in the specified format. This is an advanced overridable.
For more information, see the STGMEDIUM and FORMATETC structures and the ReleaseStgMedium and IDataObject::GetData functions in the OLE 2 Programmer’s Reference, Volume 1.
COleDataSource Overview | Class Members | Hierarchy Chart
See Also COleDataSource::DelaySetData, COleDataSource::OnRenderData, COleDataSource::OnRenderFileData, COleDataSource::OnRenderGlobalData, COleServerItem::OnSetData