IPersistStream::Save-Methode (objidl.h)
Speichert ein Objekt im angegebenen Stream.
Syntax
HRESULT Save(
[in] IStream *pStm,
[in] BOOL fClearDirty
);
Parameter
[in] pStm
Ein IStream-Zeiger auf den Stream, in dem das Objekt gespeichert werden soll.
[in] fClearDirty
Gibt an, ob das Änderungsflag nach Abschluss des Speichervorgangs gelöscht werden soll. Wenn TRUE, sollte das Flag gelöscht werden. Bei FALSE sollte das Flag unverändert bleiben.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Das Objekt konnte sich nicht selbst im Stream speichern. Dieser Fehler kann beispielsweise darauf hinweisen, dass das Objekt ein anderes Objekt enthält, das nicht in einen Stream serialisierbar ist, oder dass ein ISequentialStream::Write-Aufruf STG_E_CANTSAVE zurückgegeben wurde. |
|
Das Objekt konnte nicht gespeichert werden, da auf dem Speichergerät kein Speicherplatz mehr vorhanden ist. |
Hinweise
IPersistStream::Save speichert ein Objekt im angegebenen Stream und gibt an, ob das Objekt sein modifiziert-Flag zurücksetzen soll.
Der Suchzeiger wird an der Position im Stream positioniert, an der das Objekt mit dem Schreiben seiner Daten beginnen soll. Das -Objekt ruft die ISequentialStream::Write-Methode auf, um seine Daten zu schreiben.
Beim Beenden muss der Suchzeiger unmittelbar hinter den Objektdaten positioniert werden. Die Position des Suchzeigers ist nicht definiert, wenn ein Fehler zurückgibt.
Hinweise für Anrufer
Anstatt IPersistStream::Save direkt aufzurufen, rufen Sie in der Regel die OleSaveToStream-Hilfsfunktion auf, die folgendes ausführt:- Ruft GetClassID auf, um die CLSID des Objekts abzurufen.
- Ruft die WriteClassStm-Funktion auf, um die CLSID des Objekts in den Stream zu schreiben.
- Ruft IPersistStream::Save auf.
Die von OLE bereitgestellte Implementierung von IPersistStream folgt demselben Muster.
Hinweise zu Implementierern
Die IPersistStream::Save-Methode schreibt die CLSID nicht in den Stream. Der Aufrufer ist für das Schreiben der CLSID verantwortlich.Die IPersistStream::Save-Methode kann im Stream lesen, schreiben und suchen. Es darf jedoch nicht nach einer Position im Stream vor dem des Suchzeigers beim Einstieg gesucht werden.
URL-Moniker-Hinweise
Speichert einen URL-Moniker in einem Stream. Das Binärformat des URL-Monikers ist die URL-Zeichenfolge in Unicode (kann eine vollständige oder partielle URL-Zeichenfolge sein, weitere Informationen finden Sie unter CreateURLMonikerEx ). Dies wird als ULONG-Anzahl von Zeichen dargestellt, gefolgt von so vielen Unicode-Zeichen.Anforderungen
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 |