IOleObject::SetClientSite-Methode (oleidl.h)
Informiert ein eingebettetes Objekt seiner Anzeigeposition, die als "Clientwebsite" bezeichnet wird, innerhalb des Containers.
Syntax
HRESULT SetClientSite(
[in] IOleClientSite *pClientSite
);
Parameter
[in] pClientSite
Zeiger auf die IOleClientSite-Schnittstelle auf der Clientwebsite der Containeranwendung.
Rückgabewert
Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:
Rückgabecode | Beschreibung |
---|---|
|
Ein unerwarteter Fehler ist aufgetreten. |
Hinweise
Innerhalb eines zusammengesetzten Dokuments verfügt jedes eingebettete Objekt über eine eigene Clientwebsite – der Ort, an dem er angezeigt wird und durch den er Informationen über den Speicher, die Benutzeroberfläche und andere Ressourcen empfängt. IOleObject::SetClientSite ist die einzige Methode, mit der ein eingebettetes Objekt einen Zeiger auf seine Clientwebsite abrufen kann.
Notizen zu Anrufern
Ein Container kann ein Objekt seiner Clientwebsite entweder zum Zeitpunkt der Erstellung des Objekts benachrichtigen oder anschließend, wenn das Objekt initialisiert wird.Beim Erstellen oder Laden eines Objekts kann ein Container einen Clientwebsitezeiger (zusammen mit anderen Argumenten) an eine der folgenden Hilfsfunktionen übergeben: OleCreateFromFile, OleCreateFromData oder OleLoad. Diese Hilfsfunktionen laden einen Objekthandler für das neue Objekt und rufen IOleObject::SetClientSite im Namen des Containers auf, bevor ein Zeiger an das neue Objekt zurückgegeben wird.
Durch das Übergeben eines Clientwebsitezeigers wird der Objekthandler informiert, dass die Clientwebsite bereit ist, Anforderungen zu verarbeiten. Wenn die Clientwebsite wahrscheinlich unmittelbar nach dem Laden des Handlers bereit sein soll, möchten Sie möglicherweise, dass Ihr Container einen NULL-Clientwebsitezeiger an die Hilfsfunktion übergeben soll. Der NULL-Zeiger sagt, dass keine Clientwebsite verfügbar ist und dadurch den Objekthandler der Clientwebsite verzögert, bis das Objekt initialisiert wird. Als Antwort gibt die Hilfsfunktion einen Zeiger auf das Objekt zurück, aber beim Empfangen dieses Zeigers muss der Container IOleObject::SetClientSite als Teil der Initialisierung des neuen Objekts aufrufen.
Notizen zu Implementierungen
Die Implementierung besteht einfach darin, die Referenzanzahl zu erhöhen und den Zeiger auf die Clientwebsite zu speichern.Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | oleidl.h |