Compartir a través de


Método IOleInPlaceObject::InPlaceDeactivate (oleidl.h)

Desactiva un objeto activo en contexto y descarta el estado de deshacer del objeto.

Sintaxis

HRESULT InPlaceDeactivate();

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

Notas a los autores de llamadas

El contenedor inmediato de un objeto activo llama a este método para desactivar el objeto activo y descartar su estado de deshacer.

Notas para los implementadores

Al volver desde IOleInPlaceObject::InPlaceDeactivate, el objeto descarta su estado de deshacer. La aplicación de objeto no debe apagarse inmediatamente después de esta llamada. En su lugar, debe esperar a que una llamada explícita a IOleObject::Close o para que el recuento de referencias del objeto alcance cero.

Antes de desactivarlo, la aplicación de objeto debe dar al contenedor la oportunidad de volver a poner su interfaz de usuario en la ventana de marco mediante una llamada a IOleInPlaceSite::OnUIDeactivate.

Si la interfaz de usuario local sigue siendo visible durante la llamada a IOleInPlaceObject::InPlaceDeactivate, la aplicación de objeto debe llamar a su propio método IOleInPlaceObject::InPlaceDeactivate para ocultar la interfaz de usuario. La interfaz de usuario local se puede destruir opcionalmente durante las llamadas a IOleInPlaceObject::InPlaceDeactivate e IOleInPlaceObject::InPlaceDeactivate. Pero si la interfaz de usuario aún no se ha destruido cuando el contenedor llama a IOleObject::Close, se debe destruir durante la llamada a IOleObject::Close.

Durante la llamada a IOleObject::Close, el objeto debe comprobar si todavía está activo en su lugar. Si es así, debe llamar a IOleInPlaceObject::InPlaceDeactivate.

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

IOleInPlaceObject

IOleInPlaceSite::OnInPlaceDeactivate

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close