IOleCache2::UpdateCache

Updates specified cache(s). It updates the cache according to the value of a parameter. This method is used when the application needs precise control over caching.

HRESULT UpdateCache(

IDataObject * pDataObject,

//Pointer to the data object from which the cache is updated

DWORD grfUpdt,

//Type of cache to update

LPVOID pReserved

//Reserved

);

Parameters

pDataObject
[in] Pointer to the IDataObject interface on the data object from which the cache is updated. Object handlers and in-process servers typically pass a non-NULL value. A container application usually passes NULL, and the source is obtained from the currently running object.
grfUpdt
[in] Type of cache to update. The value is obtained by combining values from the following table:

Cache Control Values

Description

UPDFCACHE_NODATACACHE

Updates caches created by using ADVF_NODATA in the call to IOleCache::Cache.

UPDFCACHE_ONSAVECACHE

Updates caches created by using ADVFCACHE_ONSAVE in the call to IOleCache::Cache.

UPDFCACHE_ONSTOPCACHE

Updates caches created by using ADVFCACHE_ONSTOP in the call to IOleCache::Cache.

UPDFCACHE_NORMALCACHE

Dynamically updates the caches (as is normally done when the object sends out OnDataChange notices).

UPDFCACHE_IFBLANK

Updates the cache if blank, regardless of any other flag specified.

UPDFCACHE_ONLYIFBLANK

Updates only caches that are blank.

UPDFCACHE_
IFBLANKORONSAVECACHE

The equivalent of using an OR operation to combine UPDFCACHE_IFBLANK and UPDFCACHE_ONSAVECACHE.

UPDFCACHE_ALL

Updates all caches.

UPDFCACHE_
ALLBUTNODATACACHE

Updates all caches except those created with ADVF_NODATA in the call to IOleCache::Cache.
Thus, you can control updates to the caches created with the ADVF_NODATA flag and only update these caches explicitly.

pReserved
[in] Reserved for future use; must be NULL.

Return Values

This method supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED, as well as the following:

S_OK
The cache(s) were updated according to the value specified in grfUpdt.
OLE_E_NOTRUNNING
The specified pDataObject is not running.
CACHE_E_NOCACHE_UPDATED
None of the caches were updated.
CACHE_S_SOMECACHES_NOTUPDATED
Some of the caches were updated.

See Also

IOleCache, IOleCacheControl, IDataObject