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


Метод IOleItemContainer::GetObjectStorage (oleidl.h)

Извлекает указатель на хранилище для указанного объекта.

Синтаксис

HRESULT GetObjectStorage(
  [in]  LPOLESTR pszItem,
  [in]  IBindCtx *pbc,
  [in]  REFIID   riid,
  [out] void     **ppvStorage
);

Параметры

[in] pszItem

Имя составного документа для объекта, хранилище которого запрашивается.

[in] pbc

Указатель на интерфейс IBindCtx в контексте привязки, который будет использоваться в этой операции привязки. Контекст привязки кэширует объекты, привязанные к процессу привязки, содержит параметры, которые применяются ко всем операциям, использующим контекст привязки, и предоставляет средства, с помощью которых реализация привязки должна получать сведения о своей среде.

[in] riid

Ссылка на идентификатор интерфейса, используемого для взаимодействия с объектом , обычно IStorage.

[out] ppvStorage

Адрес переменной указателя, получающей указатель интерфейса, запрошенный в riid. После успешного возврата *ppvStorage содержит запрошенный указатель интерфейса на хранилище для объекта с именем pszItem. При успешном выполнении реализация должна вызвать AddRef для *ppvStorage; вызов Release лежит на вызывающем объекте. При возникновении ошибки параметру *ppvStorage присваивается значение NULL.

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

Этот метод может возвращать стандартное возвращаемое значение E_OUTOFMEMORY, а также следующие значения.

Код возврата Описание
S_OK
Метод полностью успешно.
MK_E_OBJECT
Параметр pszItem не определяет объект в этом контейнере.
MK_E_NOSTORAGE
Объект не имеет собственного независимого хранилища.
E_NOINTERFACE
Запрошенный интерфейс недоступен.

Комментарии

Реализация моникера элемента IMoniker::BindToStorage вызывает этот метод.

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

Если pszItem обозначает псевдообъект, реализация IOleItemContainer::GetObjectStorage должна возвращать MK_E_NOSTORAGE, так как псевдообъекты не имеют собственного независимого хранилища. Если pszItem обозначает внедренный объект или часть документа, которая имеет собственное хранилище, реализация должна возвращать указанный указатель интерфейса на соответствующий объект хранилища.

Требования

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

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

IOleItemContainer