PRB: IOleObject::IsUpToDate() and OLE 1.0 Link Objects

ID: Q111613

The information in this article applies to:

SYMPTOMS

An OLE 2.0 container application calls IOleObject::IsUpToDate to determine whether or not an OLE 1.0 link object is up to date. IsUpToDate() returns S_FALSE, even though the object is actually up to date.

CAUSE

The OLE 1.0 compatibility layer always considers OLE 1.0 link objects to be out of date. If the OLE 1.0 object is not running, the compatibility layer always returns S_FALSE to IOleObject::IsUpToDate().

MORE INFORMATION

This problem can occur whenever an OLE 2.0 container application loads a document that contains links to OLE 1.0 objects. As part of loading the document, the link container updates any out of date automatic links. To find the out of date links, the container calls IOleObject::IsUpToDate() on each link that has a link-update option of OLEUPDATE_ALWAYS.

As described above, IsUpToDate will always return S_FALSE for an OLE 1.0 object that is not running. The container application will then update the link object (which requires running the object's server), even if it was not actually out of date.

For more information on the known idiosyncrasies of embedding or linking OLE 1.0 objects into OLE 2.01 containers, see "Working with OLE 1 Servers" in the OLE SDK version 2.01 "Programmer's Reference."

Additional reference words: 2.01 3.50 4.00 KBCategory: kbole KBSubcategory: LeTwoArc

Last Reviewed: May 17, 1995