Freigeben über


IPersistFile::Save-Methode (objidl.h)

Speichert eine Kopie des -Objekts in der angegebenen Datei.

Syntax

HRESULT Save(
  [in] LPCOLESTR pszFileName,
  [in] BOOL      fRemember
);

Parameter

[in] pszFileName

Der absolute Pfad der Datei, in der das Objekt gespeichert werden soll. Wenn pszFileNameNULL ist, sollte das Objekt seine Daten in der aktuellen Datei speichern, sofern vorhanden.

[in] fRemember

Gibt an, ob der pszFileName-Parameter als aktuelle Arbeitsdatei verwendet werden soll. Bei TRUE wird pszFileName zur aktuellen Datei, und das Objekt sollte sein modifiziert Flag nach dem Speichern löschen. Bei FALSE handelt es sich bei diesem Speichervorgang um den Vorgang Save A Copy As ... . In diesem Fall ist die aktuelle Datei unverändert, und das Objekt sollte sein modifiziert Flag nicht löschen. Wenn pszFileNameNULL ist, sollte die Implementierung das fRemember-Flag ignorieren.

Rückgabewert

Wenn das Objekt erfolgreich gespeichert wurde, wird der Rückgabewert S_OK. Andernfalls ist es S_FALSE. Diese Methode kann auch verschiedene Speicherfehler zurückgeben.

Hinweise

Diese Methode kann aufgerufen werden, um ein Objekt in der angegebenen Datei auf eine von drei Arten zu speichern:

Der Implementierer muss erkennen, welche Art von Speichervorgang der Aufrufer anfordert. Wenn der pszFileName-ParameterNULL ist, wird ein Save-Element angefordert. Wenn der pszFileName-Parameter nicht NULL ist, verwenden Sie den Wert des fRemember-Parameters , um zwischen Speichern unter und Kopie speichern unter zu unterscheiden.

In Vorgängen speichern oder speichern unter löscht IPersistFile::Save das interne modifiziert Flag nach dem Speichern und sendet IAdviseSink::OnSave-Benachrichtigungen an alle Beratungsverbindungen (siehe auch IOleAdviseHolder::SendOnSave). Außerdem befindet sich das Objekt bei diesen Vorgängen im NoScribble-Modus, bis es einen IPersistFile::SaveCompleted-Aufruf empfängt . Im NoScribble-Modus darf das Objekt nicht in die Datei schreiben.

Im Szenario Speichern unter sollte die Implementierung auch IAdviseSink::OnRename-Benachrichtigungen an alle Beratungsverbindungen senden (siehe auch IOleAdviseHolder::SendOnRename).

Im Szenario Kopie speichern unter löscht die Implementierung das interne modifiziert Flag nach dem Speichern nicht.

Hinweise für Anrufer

OLE ruft IPersistFile::Save nicht auf. In der Regel würden Anwendungen es nur aufrufen, wenn sie ein Objekt direkt in einer Datei speichern, was in der Regel dem Endbenutzer überlassen wird.

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 objidl.h

Weitere Informationen

Ipersistfile