Microsoft KB Archive/109547

= BUG: OLE 2.0 Containers & 1.0 Objects that Close w/out Saving =

Article ID: 109547

Article Last Modified on 3/3/2005

-

APPLIES TO

 Microsoft OLE 1.0 Microsoft OLE 2.0 Microsoft OLE 2.01 Microsoft OLE 4.0, when used with:  Microsoft Windows NT 4.0

 Microsoft Windows NT 3.51 Service Pack 5

 Microsoft Windows 95</li></ul> </li></ul>

-

<div class="notice_section">

This article was previously published under Q109547

<div class="symptoms_section">

SYMPTOMS
When an OLE 1.0 object is inserted into an OLE 2.0 container document and then closed without an update being invoked, the correct streams for that object are not written to storage. Any subsequent attempt by the container to load the object will fail.

<div class="cause_section">

CAUSE
When the OLE 1.0 object is closed without an update, the OLE 2.0 container receives an IAdviseSink::OnClose message without having first received an IClientSite::SaveObject message. Unless the container takes steps to work around this problem, incorrect streams will be saved.

<div class="resolution_section">

RESOLUTION
To protect against this scenario, OLE 2.0 containers that want data to be available after an OLE 1.0 object closes without updating can implement code similar to the following pseudocode: OleCreate; OleRun; IOleObject::Update;      \\ To get a snapshot of the data. OleSave;                 \\ To save the data to storage. IOleObject::DoVerb; Alternatively, the container could just delete any objects that call IAdviseSink::OnClose without first calling IClientSite::SaveObject.

<div class="status_section">

STATUS
Microsoft has confirmed this to be a problem in the products listed at the beginning of this article. We are researching this problem and will post new information here as it becomes available.

<div class="moreinformation_section">

MORE INFORMATION
For more information about known idiosyncrasies of embedding or linking OLE 1.0 objects into OLE 2.0 containers, please see the "Compatibility with OLE 1.0" section of the OLE SDK Help file.

Additional query words: 1.00 2.00 2.01 3.50 4.00 toolkit kbbuglist

Keywords: kbbug KB109547

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.