IOleCache2::DiscardCache method (oleidl.h)

Discards the caches found in memory.


HRESULT DiscardCache(
  [in] DWORD dwDiscardOptions


[in] dwDiscardOptions

A 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 with 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 value

This method returns S_OK on success. Other possible return values include the following.

Return code Description
There is no storage available for saving the data in the cache.
The storage medium is full.


The IOleCache2::DiscardCache method is commonly used to handle low memory conditions by freeing memory currently being used by presentation caches.

After it is discarded, a cache will satisfy subsequent IDataObject::GetData calls by reverting to disk-based data.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header oleidl.h

See also