|
IOleCache::SetData
Initializes the cache with data in a specified format and on a specified
medium.
HRESULT SetData(
FORMATETC * pFormatetc,
| //Points to the format of the presentation data to be placed in the cache
| STGMEDIUM * pmedium,
| //Points to the storage medium containing the data to be placed in the cache
| BOOL fRelease
| //Indicates ownership of the storage medium after this method is completed
| );
|
|
Parameters
pFormatetc
[in] Points to the format of the presentation data being placed in the cache.
pmedium
[in] Points to the storage medium that contains the presentation data.
fRelease
[in] Indicates ownership of the storage medium after completion of the method.
If fRelease is TRUE, the cache takes ownership, freeing the medium when it is finished
using it. When fRelease is FALSE, the caller retains ownership and is responsible for freeing the
medium. The cache can only use the storage medium for the duration of the call.
Return Values
S_OK
The cache was filled.
E_OUTOFMEMORY
The cache could not be filled due to a lack of memory.
DV_E_LINDEX
The value is not valid for pFormatetc->lindex. Currently, only -1 is supported.
DV_E_FORMATETC
The FORMATETC structure is invalid.
DV_E_TYMED
The value is not valid for pFormatetc->tymed.
DV_E_DVASPECT
The value is not valid for pFormatetc->dwAspect.
OLE_E_BLANK
Uninitialized object.
DV_E_TARGETDEVICE
The object is static and pFormatetc->ptd is non-NULL.
STG_E_MEDIUMFULL
The storage medium is full.
Comments
IOleCache::SetData is usually called when an object is created from the Clipboard or through a
drag-and-drop operation and Embed Source data is used to create the object.
IOleCache::SetData and IOleCache::InitCache are very similar. There are two main differences. The first difference is
that while IOleCache::InitCache initializes the cache with the any presentation format provided by the data
object, IOleCache::SetData initializes it with a single format. Second, the IOleCache::SetData method ignores the ADVF_NODATA flag while IOleCache::InitCache obeys this flag.
A container can use this method to maintain a single aspect of an object, such
as the icon aspect of the object.
See Also
IDataObject::SetData, IOleCache::Cache
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|