# IOleCache

The IOleCache interface provides control of the presentation data that gets cached inside of an object. Cached presentation data is available to the container of the object even whenthe server application is not running or is unavailable.

##### When to Implement

The IOleCache interface can be implemented by an object handler and an in-process server. In general, however, the methods of IOleCache are implemented as part of the IOleCache2 interface, which inherits the IOleCache definition, and adds methods for selectively updating the cache. Rather than implementing, however, it is typical to use or aggregate the OLE implementation, a pointer to which is available through a call to CreateDataCache.

##### When to Use

A client calls the methods of IOleCache to control what the data cache holds. A typical client would be an OLE Documents container that would cache an object’s presentation so it is available without the object actually being active.

Methods in VTable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments the reference count.
Release | Decrements the reference count.

IOleCache Methods | Description
Cache | Adds a presentation to the data or view cache.
Uncache | Removes a presentation previously added with IOleCache::Cache.
EnumCache | Returns an object to enumerate the current cache connections.
InitCache | Fills the cache with all the presentation data from the data object.
SetData | Fills the cache with specified format of presentation data.