Метод IOleObject::SetClientSite (oleidl.h)
Информирует внедренный объект о расположении отображения, называемом "клиентским сайтом" в контейнере.
Синтаксис
HRESULT SetClientSite(
[in] IOleClientSite *pClientSite
);
Параметры
[in] pClientSite
Указатель на интерфейс IOleClientSite на клиентском сайте приложения контейнера.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Другие возможные возвращаемые значения включают следующее.
Код возврата | Описание |
---|---|
|
Произошла непредвиденная ошибка. |
Комментарии
В составном документе каждый внедренный объект имеет собственный клиентский сайт — место, где он отображается и через которое он получает сведения о своем хранилище, пользовательском интерфейсе и других ресурсах. IOleObject::SetClientSite — единственный метод, позволяющий внедренным объектам получить указатель на свой клиентский сайт.
Примечания к вызывающим абонентам
Контейнер может уведомлять объект о своем клиентском сайте во время создания объекта или, впоследствии, при инициализации объекта.При создании или загрузке объекта контейнер может передавать указатель на сайт клиента (вместе с другими аргументами) в одну из следующих вспомогательных функций: OleCreate, OleCreateFromFile, OleCreateFromData или OleLoad. Эти вспомогательные функции загружают обработчик объекта для нового объекта и вызывают IOleObject::SetClientSite от имени контейнера, прежде чем возвращать указатель на новый объект.
Передача указателя сайта клиента сообщает обработчику объектов о том, что клиентский сайт готов к обработке запросов. Если клиентский сайт вряд ли будет готов сразу после загрузки обработчика, может потребоваться, чтобы контейнер передал в вспомогательная функция пустой указатель сайта клиента. Указатель NULL указывает, что сайт клиента недоступен, и тем самым откладывает уведомление обработчика объекта клиентского сайта до инициализации объекта. В ответ вспомогающая функция возвращает указатель на объект , но при получении этого указателя контейнер должен вызвать IOleObject::SetClientSite в рамках инициализации нового объекта.
Примечания для разработчиков
Реализация состоит из простого увеличения количества ссылок и сохранения указателя на клиентский сайт.Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | oleidl.h |