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.

QuickInfo

  Windows NT: Use version 3.1 or later.
  Windows: Use Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in oleidl.h.

See Also

IOleCache, IOleCacheControl, IDataObject