Método IOleObject::Close (oleidl.h)
Cambia un objeto incrustado de la ejecución al estado cargado. Desconecta un objeto vinculado de su origen de vínculo.
Sintaxis
HRESULT Close(
[in] DWORD dwSaveOption
);
Parámetros
[in] dwSaveOption
Indica si el objeto se va a guardar como parte de la transición al estado cargado. Los valores válidos se toman de la enumeración OLECLOSE.
Valor devuelto
Este método devuelve S_OK cuando funciona correctamente. Otros posibles valores devueltos son los siguientes.
Código devuelto | Descripción |
---|---|
|
Se le ha pedido al usuario que guarde, pero eligió el botón Cancelar en el cuadro de mensaje del mensaje. |
Comentarios
Notas a los autores de llamadas
Una aplicación contenedora llama a IOleObject::Close cuando quiere mover el objeto de una ejecución a un estado cargado. Después de esta llamada, el objeto sigue apareciendo en su contenedor, pero no está abierto para su edición. Llamar a IOleObject::Close en un objeto que se carga pero que no se ejecuta no tiene ningún efecto. Cerrar un objeto vinculado simplemente significa desconectarlo.Notas para los implementadores
Al recibir una llamada a IOleObject::Close, un objeto en ejecución debe hacer lo siguiente:- Si el objeto se ha cambiado desde que se abrió por última vez para su edición, debe solicitar guardarse o no, según las instrucciones especificadas en dwSaveOption. Si la opción es guardar el objeto, debe llamar a la interfaz IOleClientSite::SaveObject del contenedor.
- Si el objeto tiene marcas IDataObject::D Advise con ADVF_DATAONSTOP marcas, debe enviar una notificación IAdviseSink::OnDataChange . Consulte IDataObject::D Advise para obtener más información.
- Si el objeto posee actualmente el Portapapeles, debe vaciarlo llamando a OleFlushClipboard.
- Si el objeto está visible actualmente, notifique a su contenedor llamando a IOleClientSite::OnShowWindow con el argumento fshow establecido en FALSE.
- Envíe notificaciones IAdviseSink::OnClose a receptores de asesoramiento adecuados.
- Por último, cortó forzosamente todos los clientes de comunicación remota mediante una llamada a CoDisconnectObject.
Llamar a IOleObject::Close en un objeto vinculado lo desconecta, pero no se apaga, su aplicación de origen. Una aplicación de origen que es visible para el usuario cuando el objeto está cerrado permanece visible y en ejecución después de la desconexión y no envía una notificación IAdviseSink::OnClose al contenedor de vínculos.
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 |