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


Метод IOleDocumentView::SetInPlaceSite (docobj.h)

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

Синтаксис

HRESULT SetInPlaceSite(
  [in] IOleInPlaceSite *pIPSite
);

Параметры

[in] pIPSite

Указатель на интерфейс IOleInPlaceSite сайта представления документов. Этот параметр может иметь значение NULL, и в этом случае объект представления документа теряет всю связь с контейнером.

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

Этот метод возвращает S_OK, если сайт представления документов был успешно связан (или не связан, если pIPSite имеет значение NULL) с объектом представления документов. Другие возможные возвращаемые значения включают следующее.

Код возврата Описание
E_FAIL
Операция не удалась.

Комментарии

В рамках активации объекта документа контейнер должен передать объекту указатель на реализацию IOleInPlaceSite контейнера. Этот указатель обозначает сайт представления документов, связанный с представлением, для которого вызывается этот метод.

Контейнер обычно передает этот указатель в ответ на запрос на активацию документа. Документ выполняет такой запрос, вызывая IOleDocumentSite::ActivateMe и передавая контейнеру указатель на представление для активации. Контейнер, в свою очередь, использует этот указатель для вызова IOleDocumentView::SetInPlaceSite.

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

Если контейнер запрашивает создание и активацию нового экземпляра объекта документа, а не просто активацию загруженного экземпляра объекта документа, сайт представления передается в аргументе pIPSiteобъекта IOleDocument::CreateView. Поэтому явный вызов IOleDocumentView::SetInPlaceSite не требуется.

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

Если этот метод вызывается для представления, которое уже связано с сайтом представления, представление должно выполнять некоторые действия по обслуживанию в рамках подготовки к активации на новом сайте. Во-первых, представление должно отключиться на текущем сайте и освободить указатель на этот сайт. Затем, если новый указатель IOleInPlaceSite не имеет значения NULL, представление должно сохранить указатель и вызвать iUnknown::AddRef . Затем представление должно ожидать, пока контейнер сообщит ему, когда следует активировать себя на новом сайте представления.

Представление документа должно полностью реализовать этот метод; E_NOTIMPL не является допустимым возвращаемым значением.

Требования

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

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

IOleDocumentView

IOleDocumentView::SetInPlaceSite