IOleObject::Close-Methode (oleidl.h)
Ändert ein eingebettetes Objekt vom ausgeführten in den geladenen Zustand. Trennt ein verknüpftes Objekt von seiner Linkquelle.
Syntax
HRESULT Close(
[in] DWORD dwSaveOption
);
Parameter
[in] dwSaveOption
Gibt an, ob das Objekt im Rahmen des Übergangs zum geladenen Zustand gespeichert werden soll. Gültige Werte werden der OLECLOSE-Enumeration entnommen.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Der Benutzer wurde zum Speichern aufgefordert, wählte aber im Meldungsfeld der Eingabeaufforderung die Schaltfläche Abbrechen aus. |
Hinweise
Hinweise für Anrufer
Eine Containeranwendung ruft IOleObject::Close auf, wenn das Objekt von einem ausgeführten in einen geladenen Zustand verschoben werden soll. Nach einem solchen Aufruf wird das Objekt weiterhin in seinem Container angezeigt, ist aber nicht für die Bearbeitung geöffnet. Das Aufrufen von IOleObject::Close für ein Objekt, das geladen, aber nicht ausgeführt wird, hat keine Auswirkung. Wenn Sie ein verknüpftes Objekt schließen, müssen Sie es einfach trennen.Hinweise zu Implementierern
Nach dem Empfang eines Aufrufs von IOleObject::Close sollte ein ausgeführtes Objekt die folgenden Schritte ausführen:- Wenn das Objekt geändert wurde, seit es zuletzt zur Bearbeitung geöffnet wurde, sollte es gemäß den anweisungen in dwSaveOption gespeichert werden oder nicht. Wenn die Option zum Speichern des Objekts besteht, sollte es die IOleClientSite::SaveObject-Schnittstelle des Containers aufrufen.
- Wenn das Objekt über IDataObject::D Advise-Verbindungen mit ADVF_DATAONSTOP-Flags verfügt, sollte es eine IAdviseSink::OnDataChange-Benachrichtigung senden. Weitere Informationen finden Sie unter IDataObject::D Advise .
- Wenn das Objekt derzeit die Zwischenablage besitzt, sollte es sie durch Aufrufen von OleFlushClipboard leeren.
- Wenn das Objekt derzeit sichtbar ist, benachrichtigen Sie seinen Container, indem Sie IOleClientSite::OnShowWindow aufrufen, wobei das Argument fshow auf FALSE festgelegt ist.
- Senden Sie IAdviseSink::OnClose-Benachrichtigungen an entsprechende Empfehlungssenken.
- Schließlich schließen Sie alle Remotingclients gewaltsam ab, indem Sie CoDisconnectObject aufrufen.
Beim Aufrufen von IOleObject::Close für ein verknüpftes Objekt wird es von seiner Quellanwendung getrennt, aber nicht heruntergefahren. Eine Quellanwendung, die für den Benutzer sichtbar ist, wenn das Objekt geschlossen wird, bleibt sichtbar und wird nach der Trennung ausgeführt und sendet keine IAdviseSink::OnClose-Benachrichtigung an den Linkcontainer.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleidl.h |