IOleCache2::DiscardCache  23Z.0P.

Discards the caches in memory.

HRESULT DiscardCache(

    DWORD dwDiscardOptions

//Save options

   );

 

 

Parameter

dwDiscardOptions

[in] DWORD value from the DISCARDCACHE8VGLX2 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::GetData81EL5_ calls by reverting to disk-based data.

See Also

DISCARDCACHE, IOleCache, IOleCacheControl