Поделиться через


Метод IOleInPlaceObject::InPlaceDeactivate (oleidl.h)

Деактивирует активный объект на месте и отменяет состояние отмены объекта.

Синтаксис

HRESULT InPlaceDeactivate();

Возвращаемое значение

Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
E_UNEXPECTED
Произошла непредвиденная ошибка.

Комментарии

Примечания к вызывающим абонентам

Этот метод вызывается непосредственным контейнером активного объекта для деактивации активного объекта и отмены его состояния отмены.

Примечания для разработчиков

При возврате из IOleInPlaceObject::InPlaceDeactivate объект отменяет свое состояние отмены. Приложение объекта не должно завершать работу сразу после этого вызова. Вместо этого следует дождаться явного вызова IOleObject::Close или достижения нуля счетчиком ссылок объекта.

Перед деактивации приложение объекта должно предоставить контейнеру возможность вернуть пользовательский интерфейс в окно фрейма, вызвав IOleInPlaceSite::OnUIDeactivate.

Если пользовательский интерфейс на месте по-прежнему отображается во время вызова IOleInPlaceObject::InPlaceDeactivate, приложение объекта должно вызвать собственный метод IOleInPlaceObject::InPlaceDeactivate , чтобы скрыть пользовательский интерфейс. При необходимости пользовательский интерфейс на месте можно уничтожить во время вызовов IOleInPlaceObject::InPlaceDeactivate и IOleInPlaceObject::InPlaceDeactivate. Но если пользовательский интерфейс еще не был уничтожен, когда контейнер вызывает IOleObject::Close, он должен быть уничтожен во время вызова IOleObject::Close.

Во время вызова IOleObject::Close объект должен проверка, чтобы узнать, активен ли он на месте. Если это так, он должен вызвать IOleInPlaceObject::InPlaceDeactivate.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header oleidl.h

См. также раздел

IOleInPlaceObject

IOleInPlaceSite::OnInPlaceDeactivate

IOleInPlaceSite::OnUIDeactivate

IOleObject::Close