IOleLink::Update

This method updates the compound document's cached data for a linked object. This involves binding to the link source, if it is not already bound.

HRESULT Update(
  IBindCtx* pbc
);

Parameters

  • pbc
    [in] Pointer to the IBindCtx interface on the bind context to be used in binding the link source. This parameter can be NULL. The bind context caches objects bound during the binding process, contains parameters that apply to all operations using the bind context, and provides the means by which the binding implementation should retrieve information about its environment. For more information, see IBindCtx.

Return Values

The following table shows the return values for this method.

Value Description
S_OK All caches were updated successfully.
CACHE_E_NOCACHE_UPDATED The bind operation worked but no caches were updated.
CACHE_S_SOMECACHES_NOTUPDATED The bind operation worked but not all caches were updated.
OLE_E_CANT_BINDTOSOURCE Unable to bind to the link source.

Remarks

If pbc is non-NULL, the linked object's implementation of IOleLink::Update calls the IBindCtx::RegisterObjectBound method to register the bound link source. This ensures that the link source remains running until the bind context is released.

The current caches are left intact if the link source cannot be bound.

Notes to Callers

Your container application should call IOleLink::Update if the user updates the cached data for a linked object.

The user can update the cached data for a linked object by choosing the Update Now button in the Links dialog box. If you use the OleUIEditLinks function to display the Links dialog box, you must implement the IOleUILinkContainer interface. The dialog box calls your implementations of the IOleUILinkContainer::UpdateLink method when the user chooses the Update Now button. Your implementation of that method can call IOleLink::Update.

Your container application can also call the IOleObject::Update method to update a linked object because that method — when called on a linked object — calls IOleLink::Update.

This method updates both automatic links and manual links. For manual links, calling IOleLink::Update or IOleObject::Update is the only way to update the caches. For more information about automatic and manual links, see IOleLink::SetUpdateOptions.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: Oleidl.h, Oleidl.idl.
Link Library: Ole32.lib, Uuid.lib.

See Also

IBindCtx | IBindCtx::RegisterObjectBound | IOleLink::SetUpdateOptions | IOleObject::Update

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.