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 所命名對象的記憶體要求介面指標。 成功時,實作必須在 *ppvStorage 上呼叫 AddRef;呼叫者必須負責呼叫 Release。 如果發生錯誤,*ppvStorage 會設定為 NULL。
傳回值
這個方法可以傳回標準傳回值E_OUTOFMEMORY,以及下列值。
傳回碼 | 描述 |
---|---|
|
方法完全成功。 |
|
參數 pszItem 不會識別此容器中的物件。 |
|
對象沒有自己的獨立記憶體。 |
|
要求的介面無法使用。 |
備註
IMoniker::BindToStorage 的專案 Moniker 實作會呼叫這個方法。
實作者的注意事項
如果 pszItem 指定虛擬物件, 您的 IOleItemContainer::GetObjectStorage 實作應該會傳回MK_E_NOSTORAGE,因為虛擬對象沒有自己的獨立記憶體。 如果 pszItem 指定內嵌物件,或具有自己儲存空間的檔部分,您的實作應該會在適當的儲存物件上傳回指定的介面指標。規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | oleidl.h |