IOleItemContainer::GetObjectStorage (Compact 2013)
3/26/2014
This method returns a pointer to the storage for the object identified by the specified name.
Syntax
HRESULT GetObjectStorage(
LPOLESTR pszItem,
IBindCtx* pbc,
REFIID riid,
void** ppvStorage
);
Parameters
pszItem
[in] Pointer to a zero-terminated string containing the compound document's name for the object whose storage is requested.For Win32 applications, the LPOLESTR type indicates a wide character string (two bytes per character); otherwise, the string has one byte per character.
pbc
[in] Pointer to the IBindCtx interface on the bind context to be used in this binding operation.The bind context caches objects bound during the binding process, contains parameters that apply to all operations using the bind context, and provides the means by which the binding implementation should retrieve information about its environment.
For more information, see IBindCtx.
- riid
[in] Reference to the identifier of the interface to be used to communicate with the object, usually the IStorage interface.
ppvStorage
[out] Address of pointer variable that receives the interface pointer requested in riid.Upon successful return, *ppvObject contains the requested interface pointer to the storage for the object named by pszItem.
When successful, the implementation must call the IUnknown::AddRef method on *ppvStorage; it is the caller's responsibility to call the IUnknown::Release method.
If an error occurs, *ppvStorage is set to NULL.
Return Value
This method supports the standard return value E_OUTOFMEMORY.
The following table shows the additional return values for this method.
Value |
Description |
---|---|
S_OK |
The storage of the specified object was successfully returned. |
MK_E_NOOBJECT |
The parameter pszItem does not identify a object in this container. |
MK_E_NOSTORAGE |
The object does not have its own independent storage. |
E_NOINTERFACE |
The requested interface is not available. |
Remarks
The item moniker implementation of the IMoniker::BindToStorage method calls this method.
To determine whether the platform supports this interface, see Determining Supported COM APIs.
Notes to Implementers
If pszItem designates a pseudo-object, your implementation should return MK_E_NOSTORAGE, because pseudo-objects do not have their own independent storage.
If pszItem designates an embedded object, or a portion of the document that has its own storage, your implementation should return the specified interface pointer on the appropriate storage object.
Requirements
Header |
objidl.h, |
Library |
ole32.lib |
See Also
Reference
IOleItemContainer
IBindCtx
IStorage
IMoniker::BindToStorage
IUnknown::Release