Método IOleObject::SetClientSite (oleidl.h)

Informa a un objeto incrustado de su ubicación de presentación, denominado "sitio de cliente", dentro de su contenedor.

Sintaxis

HRESULT SetClientSite(
  [in] IOleClientSite *pClientSite
);

Parámetros

[in] pClientSite

Puntero a la interfaz IOleClientSite en el sitio cliente de la aplicación contenedora.

Valor devuelto

Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.

Código devuelto Descripción
E_UNEXPECTED
Se ha producido un error inesperado.

Comentarios

Dentro de un documento compuesto, cada objeto incrustado tiene su propio sitio de cliente: el lugar donde se muestra y a través del cual recibe información sobre su almacenamiento, interfaz de usuario y otros recursos. IOleObject::SetClientSite es el único método que permite que un objeto incrustado obtenga un puntero a su sitio cliente.

Notas a los autores de llamadas

Un contenedor puede notificar a un objeto de su sitio cliente en el momento en que se crea el objeto o, posteriormente, cuando se inicializa el objeto.

Al crear o cargar un objeto, un contenedor puede pasar un puntero de sitio de cliente (junto con otros argumentos) a una de las siguientes funciones auxiliares: OleCreate, OleCreateFromFile, OleCreateFromData o OleLoad. Estas funciones auxiliares cargan un controlador de objetos para el nuevo objeto y llaman a IOleObject::SetClientSite en nombre del contenedor antes de devolver un puntero al nuevo objeto.

Pasar un puntero de sitio de cliente informa al controlador de objetos de que el sitio cliente está listo para procesar las solicitudes. Si es poco probable que el sitio cliente esté listo inmediatamente después de cargar el controlador, es posible que desee que el contenedor pase un puntero de sitio de cliente NULL a la función auxiliar. El puntero NULL indica que no hay ningún sitio cliente disponible y, por tanto, aplaza la notificación al controlador de objetos del sitio cliente hasta que se inicializa el objeto. En respuesta, la función auxiliar devuelve un puntero al objeto, pero al recibir ese puntero, el contenedor debe llamar a IOleObject::SetClientSite como parte de la inicialización del nuevo objeto.

Notas para los implementadores

La implementación consiste simplemente en incrementar el recuento de referencias y almacenar el puntero al sitio cliente.

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

Consulte también

IOleClientSite

IOleObject

IOleObject::GetClientSite

OleCreate

OleCreateFromData

OleCreateFromFile

OleLoad