IOleInPlaceObject::InPlaceDeactivate
Deactivates
an active in-place object and discards the object s undo state.
HRESULT
InPlaceDeactivate();
Return Values
This method
supports the standard return value E_UNEXPECTED, as well as the following:
S_OK
The object
was successfully deactivated.
Remarks
Notes to Callers
This method
is called by an active object s immediate container to deactivate the active
object and discard its undo state.
Notes to Implementers
On return
from IOleInPlaceObject::InPlaceDeactivate, the object discards its undo
state. The object application should not shut down immediately after this call.
Instead, it should wait for an explicit call to IOleObject::Close or for
the object s reference count to reach zero.
Before
deactivating, the object application should give the container a chance to put
its user interface back on the frame window by calling IOleInPlaceSite::OnUIDeactivate.
If the
in-place user interface is still visible during the call to InPlaceDeactivate,
the object application should call its own IOleInPlaceObject::UIDeactivate
method to hide the user interface. The in-place user interface can be
optionally destroyed during calls to IOleInPlaceObject::UIDeactivate and
IOleInPlaceObject::InPlaceDeactivate. But if the user interface has not
already been destroyed when the container calls IOleObject::Close, then
it must be destroyed during the call to IOleObject::Close.
During the
call to IOleObject::Close, the object should check to see whether it is
still active in place. If so, it should call InPlaceDeactivate.
See Also