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


Метод IOleClientSite::GetContainer (oleidl.h)

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

Синтаксис

HRESULT GetContainer(
  [out] IOleContainer **ppContainer
);

Параметры

[out] ppContainer

Адрес переменной указателя IOleContainer , которая получает указатель интерфейса на объект контейнера. При возникновении ошибки реализация должна присвоить ppContainer значение NULL.

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

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

Код возврата Описание
OLE_E_NOT_SUPPORTED
Клиентский сайт находится в контейнере OLE 1.
E_NOINTERFACE
Контейнер не реализует интерфейс IOleContainer .

Комментарии

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

Клиенты ссылок могут проходить по иерархии составных объектов документа путем рекурсивного вызова GetContainer для получения указателя на контейнер источника ссылок; затем — QueryInterface , чтобы получить указатель на интерфейс IOleObject контейнера, и, наконец, IOleObject::GetClientSite , чтобы получить клиентский сайт контейнера в контейнере.

Простым контейнерам, которые не поддерживают ссылки на внедренные объекты, скорее всего, не нужно реализовывать этот метод. Вместо этого они могут возвращать E_NOINTERFACE и присваивать ppContainerзначение NULL.

Требования

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

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

IOleClientSite