次の方法で共有


IOleCache::SetData メソッド (oleidl.h)

指定した形式のデータと、指定したメディア上のデータを使用してキャッシュを初期化します。

構文

HRESULT SetData(
  [in] FORMATETC *pformatetc,
  [in] STGMEDIUM *pmedium,
  [in] BOOL      fRelease
);

パラメーター

[in] pformatetc

キャッシュに配置されるプレゼンテーション データの形式を指定する FORMATETC 構造体へのポインター。

[in] pmedium

プレゼンテーション データを含むストレージ メディアを指定する STGMEDIUM 構造体へのポインター。

[in] fRelease

メソッドの完了後のストレージ メディアの所有権を示します。 fReleaseTRUE の場合、キャッシュは所有権を取得し、メディアの使用が完了したときにメディアを解放します。 fReleaseFALSE の場合、呼び出し元は所有権を保持し、メディアの解放を担当します。 キャッシュは、呼び出しの期間中のみストレージ メディアを使用できます。

戻り値

このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。

リターン コード 説明
DV_E_LINDEX
値は pformatetc-lindex> では無効です。 現在、-1 のみがサポートされています。
DV_E_FORMATETC
FORMATETC 構造体が無効です。
DV_E_TYMED
値は pformatetc-tymed>では無効です。
DV_E_DVASPECT
この値は pformatetc-dwAspect> では無効です。
OLE_E_BLANK
初期化されていないオブジェクトがあります。
DV_E_TARGETDEVICE
オブジェクトは静的であり、pformatetc-ptd> は NULL 以外です。
STG_E_MEDIUMFULL
ストレージ メディアがいっぱいです。

注釈

IOleCache::SetData は、通常、オブジェクトがクリップボードから、またはドラッグ アンド ドロップ操作を使用して作成され、埋め込みソース データを使用してオブジェクトを作成するときに呼び出されます。

IOleCache::SetDataIOleCache::InitCache は非常によく似ています。 2 つのメイン違いがあります。 1 つ目の違いは、 IOleCache::InitCache はデータ オブジェクトによって提供されるプレゼンテーション形式でキャッシュを初期化する一方で、 IOleCache::SetData はキャッシュを 1 つの形式で初期化することです。 次に、 IOleCache::SetData メソッドは ADVF_NODATA フラグを無視し、 IOleCache::InitCache はこの フラグに従います。

コンテナーでは、このメソッドを使用して、オブジェクトのアイコンの側面など、オブジェクトの 1 つの側面を維持できます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー oleidl.h

こちらもご覧ください

IOleCache

IOleCache::Cache

IOleCache::SetData