IOleCache2::DiscardCache
Discards the
caches in memory.
HRESULT DiscardCache(
|
DWORD dwDiscardOptions |
//Save options |
|
); |
|
Parameter
dwDiscardOptions
[in] DWORD
value from the DISCARDCACHE
enumeration that indicates whether data is to be saved prior to being
discarded. Containers that have drawn a large object and need to free up memory
can specify DISCARDCACHE_SAVEIFDIRTY so that the newest presentation is saved
for the next time the object must be drawn.
Containers
that have activated an embedded object, made some changes, and then called IOleObject::Close(OLECLOSE_NOSAVE)
to roll back the changes can specify DISCARDCACHE_NOSAVE to ensure that the
native and presentation data are not out of synchronization.
Return Values
This method
supports the standard return values E_INVALIDARG and E_UNEXPECTED, as well as
the following:
S_OK
The cache(s)
were discarded according to the value specified in dwDiscardOptions.
OLE_E_NOSTORAGE
There is no
storage available for saving the data in the cache.
STG_E_MEDIUMFULL
The storage
medium is full.
Remarks
The IOleCache2::DiscardCache
method is commonly used to handle low memory conditions by freeing memory
currently being used by presentation caches.
Once
discarded, the cache will satisfy subsequent IDataObject::GetData calls by reverting to
disk-based data.
See Also