IPersistStorage::Load-Methode (objidl.h)
Lädt ein Objekt aus dem vorhandenen Speicher.
Syntax
HRESULT Load(
[in] IStorage *pStg
);
Parameter
[in] pStg
Ein IStorage-Zeiger auf den vorhandenen Speicher, aus dem das Objekt geladen werden soll.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Das Objekt wurde bereits durch einen vorherigen Aufruf der IPersistStorage::Load-Methode oder der IPersistStorage::InitNew-Methode initialisiert. |
|
Das Objekt wurde aufgrund fehlenden Arbeitsspeichers nicht geladen. |
|
Das Objekt wurde aus einem anderen Grund nicht geladen, aus einem anderen Grund als aus einem Mangel an Arbeitsspeicher. |
Hinweise
Diese Methode initialisiert ein -Objekt aus einem vorhandenen Speicher. Das Objekt wird in den geladenen Zustand versetzt, wenn diese Methode von der Containeranwendung aufgerufen wird. Wenn sie vom Standardhandler aufgerufen wird, versetzt diese Methode das Objekt in den Status "Wird ausgeführt".
Entweder der Standardhandler oder das Objekt selbst kann den IStorage-Zeiger beibehalten, während das Objekt geladen oder ausgeführt wird.
Hinweise für Anrufer
Anstatt IPersistStorage::Load direkt aufzurufen, rufen Sie in der Regel die OleLoad-Hilfsfunktion auf, die Folgendes ausführt:- Erstellen Sie eine nicht initialisierte instance der Objektklasse.
- Fragen Sie die neue instance für die IPersistStorage-Schnittstelle ab.
- Rufen Sie Load auf, um das Objekt aus dem vorhandenen Speicher zu initialisieren.
Der Container sollte den IPersistStorage-Zeiger zur Verwendung in späteren Vorgängen für das Objekt zwischenspeichern.
Hinweise für Implementierer
Ihre Implementierung sollte die folgenden Schritte ausführen, um ein Objekt zu laden:- Öffnen Sie die Datenströme des Objekts im Speicherobjekt, und lesen Sie die erforderlichen Daten in die internen Datenstrukturen des Objekts.
- Löschen Sie das modifiziert-Flag des Objekts.
- Rufen Sie die AddRef-Methode auf, und speichern Sie den übergebenen Speicherzeiger zwischen.
- Lassen Sie geöffnet, und speichern Sie die Zeiger auf alle Datenströme oder Speicher zwischen, die das Objekt benötigt, um sich selbst in diesem Speicher zu speichern.
- Führen Sie eine andere Standardinitialisierung aus, die für das Objekt erforderlich ist.
Ihre Implementierung dieser Methode sollte den CO_E_ALREADYINITIALIZED Fehlercode zurückgeben, wenn sie einen Aufruf der IPersistStorage::InitNew-Methode oder der IPersistStorage::Load-Methode empfängt, nachdem sie bereits initialisiert wurde.
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 |