Share via


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.

Hinweis Das OLE 2-Benutzermodell empfiehlt, dass Objektanwendungen Benutzer vor dem Speichern verknüpfter oder eingebetteter Objekte, einschließlich der aktivierten Objekte, nicht dazu auffordern. Diese Richtlinie stellt eine Änderung gegenüber dem OLE 1-Benutzermodell dar, in dem Objektanwendungen den Benutzer immer dazu auffordern, zu entscheiden, ob Änderungen gespeichert werden sollen.
 

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
OLE_E_PROMPTSAVECANCELLED
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 es sich bei der Objektanwendung um einen lokalen Server handelt (eine EXE anstelle einer DLL), sollte das Schließen des Objekts auch die Objektanwendung herunterfahren, es sei denn, letztere unterstützt andere ausgeführte Objekte oder hat einen anderen Grund, im ausführungszustand zu bleiben. Solche Gründe können das Vorhandensein von IClassFactory::LockServer-Sperren , die Endbenutzersteuerung der Anwendung oder das Vorhandensein anderer offener Dokumente sein, die Zugriff auf die Anwendung erfordern.

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

Weitere Informationen

CoDisconnectObject

IAdviseSink::OnClose

IClassFactory::LockServer

IDataObject::D Advise

IOleClientSite::OnShowWindow

IOleClientSite::SaveObject

IOleObject

OLECLOSE

OleFlushClipboard