IPersistStorage::SaveCompleted-Methode (objidl.h)
Benachrichtigt das Objekt, dass es in sein Speicherobjekt schreiben kann. Dazu wird das Objekt benachrichtigt, dass es aus dem NoScribble-Modus (in dem es nicht in sein Speicherobjekt schreiben darf) in den Normalen Modus rückgängig machen kann (in dem dies möglich ist). Das Objekt wechselt in den NoScribble-Modus, wenn es einen IPersistStorage::Save-Aufruf empfängt.
Syntax
HRESULT SaveCompleted(
[in] IStorage *pStgNew
);
Parameter
[in] pStgNew
Ein IStorage-Zeiger auf das neue Speicherobjekt, wenn er sich vom Speicherobjekt vor dem Speichern unterscheidet. Dieser Zeiger kann NULL sein, wenn sich das aktuelle Speicherobjekt während des Speichervorgangs nicht ändert. Wenn sich das Objekt im HandsOff-Modus befindet, muss dieser Parameter nicht NULL sein.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Das Objekt blieb im HandsOff-Modus oder im NoScribble-Modus, da der Arbeitsspeicher fehlt. In der Regel tritt dieser Fehler auf, wenn das Objekt die erforderlichen Streams und Speicherobjekte in pStgNew nicht öffnen kann. |
|
Der pStgNew-Parameter ist ungültig. In der Regel tritt dieser Fehler auf, wenn pStgNewNULL ist, wenn sich das Objekt im HandsOff-Modus befindet. |
|
Das Objekt befindet sich im Normalen Modus, und es gab keinen vorherigen Aufruf von IPersistStorage::Save oder IPersistStorage::HandsOffStorage. |
Hinweise
Diese Methode benachrichtigt ein Objekt, dass es in den Normalen Modus rückgängig machen und erneut in sein Speicherobjekt schreiben kann. Das Objekt beendet den NoScribble-Modus oder den HandsOff-Modus.
Wenn das Objekt aus dem HandsOff-Modus zurückgesetzt wird, muss der pStgNew-Parameter ungleich NULL sein. Im HandsOffFromNormal-Modus ist dieser Parameter das neue Speicherobjekt, das das objekt ersetzt, das von der IPersistStorage::HandsOffStorage-Methode widerrufen wurde. Die Daten im Speicherobjekt sind eine Kopie der Daten aus dem widerrufenen Speicherobjekt. Im HandsOffAfterSave-Modus entsprechen die Daten den Daten, die zuletzt gespeichert wurden. Sie ist nicht identisch mit den Daten im widerrufenen Speicherobjekt.
Wenn das Objekt aus dem NoScribble-Modus zurückgesetzt wird, kann der pStgNew-ParameterNULL oder nicht NULL sein. Wenn NULL, hat das Objekt erneut Zugriff auf sein Speicherobjekt. Wenn es nicht NULL ist, sollte das Komponentenobjekt den Empfang eines Aufrufs seiner HandsOffStorage-Methode simulieren. Wenn das Komponentenobjekt diesen Aufruf nicht simulieren kann, muss sein Container so vorbereitet sein, dass die HandsOffStorage-Methode tatsächlich aufgerufen wird.
Diese Methode muss alle geschachtelten Objekte rekursiv aufrufen, die geladen oder ausgeführt werden.
Wenn diese Methode einen Fehlercode zurückgibt, wird das Objekt nicht in den Normalen Modus zurückgegeben. Daher kann das Containerobjekt verschiedene Speicherstrategien versuchen.
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 |