Compartir a través de


Método IOleItemContainer::GetObjectStorage (oleidl.h)

Recupera un puntero al almacenamiento del objeto especificado.

Sintaxis

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

Parámetros

[in] pszItem

Nombre del documento compuesto para el objeto cuyo almacenamiento se solicita.

[in] pbc

Puntero a la interfaz IBindCtx en el contexto de enlace que se va a usar en esta operación de enlace. El contexto de enlace almacena en caché los objetos enlazados durante el proceso de enlace, contiene parámetros que se aplican a todas las operaciones mediante el contexto de enlace y proporciona los medios por los que la implementación de enlace debe recuperar información sobre su entorno.

[in] riid

Referencia al identificador de la interfaz que se va a usar para comunicarse con el objeto, normalmente IStorage.

[out] ppvStorage

Dirección de una variable de puntero que recibe el puntero de interfaz solicitado en riid. Tras la devolución correcta, *ppvStorage contiene el puntero de interfaz solicitado al almacenamiento del objeto denominado por pszItem. Cuando se ejecuta correctamente, la implementación debe llamar a AddRef en *ppvStorage; es responsabilidad del autor de la llamada llamar a Release. Si se produce un error, *ppvStorage se establece en NULL.

Valor devuelto

Este método puede devolver el valor devuelto estándar E_OUTOFMEMORY, así como los siguientes valores.

Código devuelto Descripción
S_OK
El método se ha realizado correctamente.
MK_E_OBJECT
El parámetro pszItem no identifica un objeto en este contenedor.
MK_E_NOSTORAGE
El objeto no tiene su propio almacenamiento independiente.
E_NOINTERFACE
La interfaz solicitada no está disponible.

Comentarios

La implementación del moniker de elemento de IMoniker::BindToStorage llama a este método.

Notas para los implementadores

Si pszItem designa un pseudoobjeto, la implementación de IOleItemContainer::GetObjectStorage debe devolver MK_E_NOSTORAGE, ya que los pseudoobjetos no tienen su propio almacenamiento independiente. Si pszItem designa un objeto incrustado o una parte del documento que tiene su propio almacenamiento, la implementación debe devolver el puntero de interfaz especificado en el objeto de almacenamiento adecuado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado oleidl.h

Consulte también

IOleItemContainer