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 |
---|---|
|
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 |