IOleCache::SetData メソッド (oleidl.h)
指定した形式のデータと、指定したメディア上のデータを使用してキャッシュを初期化します。
構文
HRESULT SetData(
[in] FORMATETC *pformatetc,
[in] STGMEDIUM *pmedium,
[in] BOOL fRelease
);
パラメーター
[in] pformatetc
キャッシュに配置されるプレゼンテーション データの形式を指定する FORMATETC 構造体へのポインター。
[in] pmedium
プレゼンテーション データを含むストレージ メディアを指定する STGMEDIUM 構造体へのポインター。
[in] fRelease
メソッドの完了後のストレージ メディアの所有権を示します。 fRelease が TRUE の場合、キャッシュは所有権を取得し、メディアの使用が完了したときにメディアを解放します。 fRelease が FALSE の場合、呼び出し元は所有権を保持し、メディアの解放を担当します。 キャッシュは、呼び出しの期間中のみストレージ メディアを使用できます。
戻り値
このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
値は pformatetc-lindex> では無効です。 現在、-1 のみがサポートされています。 |
|
FORMATETC 構造体が無効です。 |
|
値は pformatetc-tymed>では無効です。 |
|
この値は pformatetc-dwAspect> では無効です。 |
|
初期化されていないオブジェクトがあります。 |
|
オブジェクトは静的であり、pformatetc-ptd> は NULL 以外です。 |
|
ストレージ メディアがいっぱいです。 |
注釈
IOleCache::SetData は、通常、オブジェクトがクリップボードから、またはドラッグ アンド ドロップ操作を使用して作成され、埋め込みソース データを使用してオブジェクトを作成するときに呼び出されます。
IOleCache::SetData と IOleCache::InitCache は非常によく似ています。 2 つのメイン違いがあります。 1 つ目の違いは、 IOleCache::InitCache はデータ オブジェクトによって提供されるプレゼンテーション形式でキャッシュを初期化する一方で、 IOleCache::SetData はキャッシュを 1 つの形式で初期化することです。 次に、 IOleCache::SetData メソッドは ADVF_NODATA フラグを無視し、 IOleCache::InitCache はこの フラグに従います。
コンテナーでは、このメソッドを使用して、オブジェクトのアイコンの側面など、オブジェクトの 1 つの側面を維持できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oleidl.h |