Метод IOleObject::Close (oleidl.h)
Изменяет внедренный объект с запущенного на загруженный. Отключает связанный объект от источника ссылки.
Синтаксис
HRESULT Close(
[in] DWORD dwSaveOption
);
Параметры
[in] dwSaveOption
Указывает, должен ли объект сохраняться при переходе в загруженное состояние. Допустимые значения взяты из перечисления OLECLOSE.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Пользователю было предложено сохранить, но в окне сообщения подсказки нажмите кнопку Отмена . |
Комментарии
Примечания к вызывающим абонентам
Приложение-контейнер вызывает IOleObject::Close , когда требуется переместить объект из запущенного в загруженное состояние. После такого вызова объект по-прежнему отображается в контейнере, но не открыт для редактирования. Вызов IOleObject::Close для объекта, который загружен, но не запущен, не оказывает никакого влияния. Закрытие связанного объекта означает простое отключение его.Примечания для разработчиков
После получения вызова IOleObject::Close выполняющийся объект должен выполнить следующие действия:- Если объект был изменен с момента последнего открытия для редактирования, он должен запросить сохранение в соответствии с инструкциями, указанными в dwSaveOption. Если параметр заключается в сохранении объекта, он должен вызвать интерфейс IOleClientSite::SaveObject своего контейнера.
- Если объект имеет подключения IDataObject::D Advise с флагами ADVF_DATAONSTOP, он должен отправить уведомление IAdviseSink::OnDataChange . Дополнительные сведения см. в разделе IDataObject::D Advise .
- Если объект в настоящее время владеет буфером обмена, он должен очистить его, вызвав OleFlushClipboard.
- Если объект в настоящее время виден, уведомите его контейнер, вызвав IOleClientSite::OnShowWindow с аргументом fshow , равным FALSE.
- Отправка уведомлений IAdviseSink::OnClose в соответствующие приемники рекомендаций.
- Наконец, принудительно отключите все клиенты удаленного взаимодействия, вызвав CoDisconnectObject.
Вызов IOleObject::Close для связанного объекта отключает его от исходного приложения, но не завершает работу. Исходное приложение, которое отображается пользователю при закрытии объекта, остается видимым и запущенным после отключения и не отправляет уведомление IAdviseSink::OnClose в контейнер ссылок.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |