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


Метод IOleObject::GetClientSite (oleidl.h)

Извлекает указатель на клиентский сайт внедренного объекта.

Синтаксис

HRESULT GetClientSite(
  [out] IOleClientSite **ppClientSite
);

Параметры

[out] ppClientSite

Адрес переменной указателя IOleClientSite , которая получает указатель интерфейса на клиентский сайт объекта. Если объекту еще не известен его клиентский сайт или произошла ошибка, параметру ppClientSite необходимо присвоить значение NULL. Каждый раз, когда объект получает вызов IOleObject::GetClientSite, он должен увеличивать число ссылок на ppClientSite. Вызов Release по завершении работы с ppClientSite лежит на вызывающем объекте.

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

Этот метод возвращает значение S_OK при успешном завершении.

Комментарии

Клиенты связывания чаще всего вызывают метод IOleObject::GetClientSite в сочетании с методом IOleClientSite::GetContainer для обхода иерархии вложенных объектов. Клиент ссылки вызывает IOleObject::GetClientSite , чтобы получить указатель на клиентский сайт источника ссылки. Затем клиент вызывает IOleClientSite::GetContainer , чтобы получить указатель на контейнер источника ссылки. Наконец, клиент вызывает QueryInterface для получения IOleObject и IOleObject::GetClientSite , чтобы получить клиентский сайт контейнера в контейнере. Повторяя эту последовательность вызовов, вызывающий объект может в конечном итоге получить указатель на контейнер master, в который вложены все остальные объекты.

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

Возвращаемый указатель сайта клиента будет иметь значение NULL , если внедренный объект еще не был проинформирован о своем клиентском сайте. Это будет происходить с вновь загруженным или созданным объектом, когда контейнер передал указатель на клиентский сайт со значением NULL на одну из вспомогательных функций создания объектов, но еще не вызвал IOleObject::SetClientSite в рамках инициализации объекта.

Требования

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

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

IOleObject

IOleObject::SetClientSite