# IOleCache::InitCache

Fills the cache as needed using the data provided by the specified data object.

HRESULT InitCache(

IDataObject * pDataObject | //Pointer to the data object from which the cache is initialized
); |

Parameter

pDataObject
  [in] Pointer to the IDataObject interface on the data object from which the cache is to be initialized.

Return Values

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

S_OK
  The cache was filled using the data provided.
OLE_E_NOTRUNNING
  The cache is not running.
CACHE_E_NOCACHE_UPDATED
  None of the caches were updated.
CACHE_S_SOMECACHES_NOTUPDATED
  Only some of the existing caches were updated.

Remarks

IOleCache::InitCache is usually used when creating an object from a drag-and-drop operation or from a clipboard paste operation. It fills the cache as needed with presentation data from all the data formats provided by the data object provided on the clipboard or in the drag-and-drop operation. Helper functions like OleCreateFromData or OleCreateLinkFromData call this method when needed. If a container does not use these helper functions to create compound document objects, it can use IOleCache::Cache to set up the cache entries which are then filled by IOleCache::InitCache.

See Also

IOleCache::Cache