IOleDocumentView::SetInPlaceSite-Methode (docobj.h)

Ordnet die Dokumentansichtswebsite eines Containers dem Ansichtsobjekt eines Dokuments zu.

Syntax

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

Parameter

[in] pIPSite

Ein Zeiger auf die IOleInPlaceSite-Schnittstelle der Dokumentansichtswebsite. Dieser Parameter kann NULL sein. In diesem Fall verliert das Dokumentansichtsobjekt die gesamte Asociation mit dem Container.

Rückgabewert

Diese Methode gibt S_OK zurück, wenn eine Dokumentansichtswebsite erfolgreich einem Dokumentansichtsobjekt zugeordnet wurde (oder die Zuordnung aufgehoben wurde, wenn pIPSiteNULL ist). Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
E_FAIL
Fehler beim Vorgang.

Hinweise

Im Rahmen der Aktivierung eines Dokumentobjekts muss ein Container dem Objekt einen Zeiger auf die Implementierung von IOleInPlaceSite im Container übergeben. Dieser Zeiger legt die Dokumentansichtswebsite fest, die der Ansicht zugeordnet werden soll, für die diese Methode aufgerufen wird.

Ein Container übergibt diesen Zeiger normalerweise als Reaktion auf die Anforderung eines Dokuments, aktiviert zu werden. Ein Dokument sendet eine solche Anforderung, indem es IOleDocumentSite::ActivateMe aufruft und dem Container einen Zeiger auf die zu aktivierende Ansicht übergibt. Der Container wiederum verwendet diesen Zeiger, um IOleDocumentView::SetInPlaceSite aufzurufen.

Hinweise für Anrufer

Wenn der Container die Erstellung und Aktivierung einer neuen instance eines Dokumentobjekts anfordert und nicht nur die Aktivierung eines geladenen instance eines Dokumentobjekts, wird die Ansichtswebsite im pIPSite-Argument von IOleDocument::CreateView übergeben. Daher ist ein expliziter Aufruf von IOleDocumentView::SetInPlaceSite nicht erforderlich.

Hinweise für Implementierer

Wenn diese Methode für eine Ansicht aufgerufen wird, die bereits einer Ansichtswebsite zugeordnet ist, muss die Ansicht einige Haushaltsführungsschritte durchführen, um sich auf die Aktivierung in der neuen Website vorzubereiten. Zunächst muss sich die Ansicht auf der aktuellen Website selbst deaktivieren und ihren Zeiger auf diese Website freigeben. Wenn der neue IOleInPlaceSite-Zeiger als Nächstes nicht NULL ist, sollte die Ansicht sowohl den Zeiger speichern als auch IUnknown::AddRef aufrufen. Die Ansicht sollte dann warten, bis der Container ihm mitgeteilt hat, wann er sich in der neuen Ansichtswebsite aktivieren soll.

Eine Dokumentansicht muss diese Methode vollständig implementieren. E_NOTIMPL ist kein zulässiger Rückgabewert.

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 docobj.h

Weitere Informationen

IOleDocumentView

IOleDocumentView::SetInPlaceSite