次の方法で共有


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 という名前のオブジェクトのストレージへの要求されたインターフェイス ポインターが含まれます。 成功した場合、実装は *ppvStorageAddRef を呼び出す必要があります。Release を呼び出すのは呼び出し元の責任です。 エラーが発生した場合、*ppvStorageNULL に設定されます。

戻り値

このメソッドは、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
ヘッダー oleidl.h

こちらもご覧ください

IOleItemContainer