Condividi tramite


Metodo IOleDocumentView::SetInPlaceSite (docobj.h)

Associa il sito di visualizzazione documenti di un contenitore all'oggetto visualizzazione di un documento.

Sintassi

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

Parametri

[in] pIPSite

Puntatore all'interfaccia IOleInPlaceSite del sito di visualizzazione documento. Questo parametro può essere NULL, nel qual caso l'oggetto visualizzazione documento perde tutto l'asociazione con il contenitore.

Valore restituito

Questo metodo restituisce S_OK se un sito di visualizzazione documenti è stato associato correttamente (o se pIPSite è NULL) con un oggetto visualizzazione documento. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
E_FAIL
Operazione non riuscita.

Commenti

Come parte dell'attivazione di un oggetto documento, un contenitore deve passare l'oggetto un puntatore all'implementazione del contenitore di IOleInPlaceSite. Questo puntatore definisce il sito di visualizzazione documento che deve essere associato alla visualizzazione in cui viene chiamato questo metodo.

Un contenitore passa normalmente questo puntatore in risposta alla richiesta di attivazione di un documento. Un documento effettua una richiesta di questo tipo chiamando IOleDocumentSite::ActivateMe e passando un puntatore alla visualizzazione da attivare. Il contenitore, a sua volta, usa questo puntatore per chiamare IOleDocumentView::SetInPlaceSite.

Note ai chiamanti

Se il contenitore richiede la creazione e l'attivazione di una nuova istanza di un oggetto documento, anziché semplicemente l'attivazione di un'istanza caricata di un oggetto documento, il sito di visualizzazione viene passato nell'argomento pIPSite di IOleDocument::CreateView. Pertanto, non è necessaria una chiamata esplicita a IOleDocumentView::SetInPlaceSite .

Note per gli implementatori

Se questo metodo viene chiamato su una visualizzazione già associata a un sito di visualizzazione, la visualizzazione deve eseguire alcune operazioni di pulizia per l'attivazione stessa nel nuovo sito. Prima di tutto, la visualizzazione deve disattivarsi nel sito corrente e rilasciare il relativo puntatore a tale sito. Quindi, se il nuovo puntatore IOleInPlaceSite non è NULL, la visualizzazione deve salvare il puntatore e chiamare IUnknown::AddRef su di esso. La visualizzazione deve quindi attendere che il contenitore lo dica quando attivarsi nel nuovo sito di visualizzazione.

Una visualizzazione documento deve implementare completamente questo metodo; E_NOTIMPL non è un valore restituito accettabile.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione docobj.h

Vedi anche

IOleDocumentView

IOleDocumentView::SetInPlaceSite