OleLoad-Funktion (ole2.h)
Lädt ein Objekt, das in einem angegebenen Speicherobjekt geschachtelt ist, in den Arbeitsspeicher.
Syntax
HRESULT OleLoad(
[in] LPSTORAGE pStg,
[in] REFIID riid,
[in] LPOLECLIENTSITE pClientSite,
[out] LPVOID *ppvObj
);
Parameter
[in] pStg
Zeiger auf die IStorage-Schnittstelle für das Speicherobjekt, aus dem das angegebene Objekt geladen werden soll.
[in] riid
Verweis auf den Bezeichner der Schnittstelle, die der Aufrufer verwenden möchte, um nach dem Laden mit dem -Objekt zu kommunizieren.
[in] pClientSite
Zeiger auf die IOleClientSite-Schnittstelle des geladenen Clientstandortobjekts.
[out] ppvObj
Adresse der Zeigervariablen, die den in riid angeforderten Schnittstellenzeiger empfängt. Nach erfolgreicher Rückgabe enthält *ppvObj den angeforderten Schnittstellenzeiger für das neu geladene Objekt.
Rückgabewert
Diese Funktion gibt S_OK nach Erfolg zurück. Weitere mögliche Werte sind:
Rückgabecode | Beschreibung |
---|---|
|
Das -Objekt unterstützt die angegebene Schnittstelle nicht. |
Darüber hinaus kann diese Funktion alle Fehlerwerte zurückgeben, die von der IPersistStorage::Load-Methode zurückgegeben werden.
Hinweise
OLE-Container laden Objekte in den Arbeitsspeicher, indem sie diese Funktion aufrufen. Beim Aufrufen der OleLoad-Funktion übergibt die Containeranwendung einen Zeiger auf das geöffnete Speicherobjekt, in dem das geschachtelte Objekt gespeichert ist. In der Regel ist das zu ladende geschachtelte Objekt ein untergeordnetes Speicherobjekt zum Stammspeicherobjekt des Containers. Unter Verwendung der ole-Informationen, die mit dem -Objekt gespeichert sind, versucht der Objekthandler (in der Regel der Standardhandler), das Objekt zu laden. Nach Abschluss der OleLoad-Funktion befindet sich das Objekt im geladenen Zustand, und seine Objektanwendung wird nicht ausgeführt.
Einige Anwendungen laden alle nativen Daten des Objekts. Container verzögern das Laden der enthaltenen Objekte häufig, bis dies erforderlich ist. Bis ein Objekt beispielsweise in die Ansicht gescrollt wird und gezeichnet werden muss, muss es nicht geladen werden.
Die OleLoad-Funktion führt die folgenden Schritte aus:
- Führt bei Bedarf eine automatische Konvertierung des Objekts aus (siehe OleDoAutoConvert-Funktion ).
- Ruft die CLSID aus dem geöffneten Speicherobjekt ab, indem die IStorage::Stat-Methode aufgerufen wird.
- Ruft die CoCreateInstance-Funktion auf, um eine instance des Handlers zu erstellen. Wenn der Handlercode nicht verfügbar ist, wird der Standardhandler verwendet (siehe OleCreateDefaultHandler-Funktion ).
- Ruft die IOleObject::SetClientSite-Methode mit dem Parameter pClientSite auf, um das Objekt seiner Clientwebsite zu informieren.
- Ruft die QueryInterface-Methode für die IPersistStorage-Schnittstelle auf . Bei erfolgreicher Ausführung wird die IPersistStorage::Load-Methode für das -Objekt aufgerufen.
- Fragt die durch den riid-Parameter identifizierte Schnittstelle ab und gibt sie zurück.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ole2.h |
Bibliothek | Ole32.lib |
DLL | Ole32.dll |