Compartir a través de


Método IOleDocumentView::SetInPlaceSite (docobj.h)

Asocia el sitio de vista de documentos de un contenedor con el objeto de vista de un documento.

Sintaxis

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

Parámetros

[in] pIPSite

Puntero a la interfaz IOleInPlaceSite del sitio de vista de documentos. Este parámetro puede ser NULL, en cuyo caso el objeto de vista de documento pierde todas las asociaciones con el contenedor.

Valor devuelto

Este método devuelve S_OK si un sitio de vista de documento se ha asociado correctamente (o se desasocia si pIPSite es NULL) con un objeto de vista de documento. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
E_FAIL
Error en la operación.

Comentarios

Como parte de la activación de un objeto de documento, un contenedor debe pasar el objeto un puntero a la implementación del contenedor de IOleInPlaceSite. Este puntero designa el sitio de vista de documento que se va a asociar a la vista en la que se llama a este método.

Normalmente, un contenedor pasa este puntero en respuesta a la solicitud de un documento que se va a activar. Un documento realiza esta solicitud llamando a IOleDocumentSite::ActivateMe y pasando el contenedor un puntero a la vista que se va a activar. A su vez, el contenedor usa este puntero para llamar a IOleDocumentView::SetInPlaceSite.

Notas a los autores de llamadas

Si el contenedor solicita la creación y activación de una nueva instancia de un objeto de documento, en lugar de simplemente la activación de una instancia cargada de un objeto de documento, el sitio de vista se pasa en el argumento pIPSite de IOleDocument::CreateView. Por lo tanto, no es necesario realizar una llamada explícita a IOleDocumentView::SetInPlaceSite .

Notas para los implementadores

Si se llama a este método en una vista que ya está asociada a un sitio de vista, la vista debe realizar algún mantenimiento interno como preparación para activarse en el nuevo sitio. En primer lugar, la vista debe desactivarse en el sitio actual y liberar su puntero a ese sitio. A continuación, si el nuevo puntero IOleInPlaceSite no es NULL, la vista debe guardar el puntero y llamar a IUnknown::AddRef en él. A continuación, la vista debe esperar a que el contenedor le indique cuándo activarse en el nuevo sitio de vista.

Una vista de documento debe implementar este método completamente; E_NOTIMPL no es un valor devuelto aceptable.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado docobj.h

Consulte también

IOleDocumentView

IOleDocumentView::SetInPlaceSite