Discards the caches in memory.

HRESULT DiscardCache(

DWORD dwDiscardOptions
//Save data or discard it



Indicates whether data is to be saved prior to the discard. Valid values are from the enumeration DISCARDCACHE. Containers that have drawn a large object and need to free up memory may want to 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


The cache(s) were discarded according to the value specified in dwDiscardOptions.


One or more arguments are invalid.


An unexpected error occurred.


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.

Once discarded, the cache will satisfy subsequent IDataObject::GetData calls by reverting to disk-based data.

See Also

DISCARDCACHE, IOleCache, IOleCacheControl

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database