IOleCache::Cache メソッド (oleidl.h)
埋め込みオブジェクト内にキャッシュする形式とその他のデータを指定します。
構文
HRESULT Cache(
[in] FORMATETC *pformatetc,
[in] DWORD advf,
[out] DWORD *pdwConnection
);
パラメーター
[in] pformatetc
キャッシュする形式とその他のデータを指定する FORMATETC 構造体へのポインター。 ビュー キャッシュは、 pformatetc で 0 個のクリップボード形式を渡すことによって指定されます。
[in] advf
キャッシュを制御するフラグのグループ。 指定できる値は 、ADVF 列挙体から取得されます。 このコンテキストで使用する場合、キャッシュの場合、これらの値には「解説」で説明されている特定の意味があります。 詳細な説明については、 ADVF 列挙を参照してください。
[out] pdwConnection
この接続の識別子を受け取る変数へのポインター。後でキャッシュをオフにするために使用できます ( IOleCache::Uncache に渡すことによって)。 この値が 0 の場合、接続は確立されませんでした。 OLE で提供される実装では、接続識別子に 0 以外の数値が使用されます。
戻り値
このメソッドは、成功したS_OKを返します。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
指定された pformatetc 引数または advf 引数が無効です。 |
|
予期しないエラーが発生しました。 |
|
操作に使用できるメモリが不足しています。 |
|
キャッシュは作成されましたが、オブジェクト アプリケーションは指定された形式をサポートしていません。 形式がサポートされていない場合でもキャッシュの作成は成功し、呼び出し元がキャッシュを埋めることができます。 ただし、呼び出し元がキャッシュを保持する必要がない場合は、 IOleCache::Uncache を呼び出します。 |
|
IOleCache::Uncache に渡される FORMATETC のキャッシュは既に存在します。 この場合、新しいアドバイス フラグがキャッシュに割り当てられ、以前に割り当てられた接続識別子が返されます。 |
|
pformatetc-lindex> の値が無効です。現在は -1 のみがサポートされています。 |
|
値は pformatetc-tymed>では無効です。 |
|
この値は pformatetc-dwAspect> では無効です。 |
|
pformatetc-cfFormat> の値が無効です。 |
|
キャッシュのストレージが初期化されていません。 |
|
この値は pformatetc--->ptd では無効です。 |
|
キャッシュは静的オブジェクト用であり、キャッシュ ノードが既に存在します。 |
注釈
IOleCache::Cache では、データ キャッシュまたはビュー (プレゼンテーション) キャッシュのいずれかを指定できます。 データ キャッシュを指定するには、有効なデータ形式を pformatetc で渡す必要があります。 ビュー キャッシュの場合、キャッシュする形式はキャッシュ オブジェクト自体によって決定されるため、呼び出し元は次のように pformatetc でゼロ データ形式を渡します。
pFormatetc->cfFormat == 0
カスタム オブジェクト ハンドラーは、特定の形式でデータを格納しないことを選択できます。 代わりに、要求時にオンデマンドで合成できます。
advf 値は、ADVF 列挙体のメンバーを指定します。 このコンテキストでこれらの値の 1 つ (または複数の値の OR'd の組み合わせ) を使用する場合、これらの値は次を意味します。
ADVF 値 | 説明 |
---|---|
ADVF_NODATA | キャッシュは、実行中のオブジェクトに加えられた変更によって更新されません。 代わりに、コンテナーは IOleCache::SetData、IDataObject::SetData、または IOleCache2::UpdateCache を明示的に呼び出すことによってキャッシュを更新します。 このフラグは、通常、オブジェクトの象徴的な側面がキャッシュされている場合に使用されます。 |
ADVF_ONLYONCE | キャッシュを 1 回だけ更新します。 更新が完了すると、オブジェクトとキャッシュの間のアドバイザリ接続が切断されます。 アドバイザリ接続のソース オブジェクトは 、Release メソッドを呼び出します。 |
ADVF_PRIMEFIRST | オブジェクトは、キャッシュを更新する前に、データまたはビューが変更されるのを待つ必要はありません。 or'd と ADVF_ONLYONCE、このパラメーターは非同期 IDataObject::GetData 呼び出しを提供します。 |
ADVFCACHE_NOHANDLER | ADVFCACHE_FORCEBUILTINのシノニム。 |
ADVFCACHE_FORCEBUILTIN | DLL オブジェクト アプリケーションとオブジェクト ハンドラーによって使用され、プレゼンテーション データをキャッシュするオブジェクトを描画して、キャッシュにプレゼンテーションがあることを確認します。 これにより、オブジェクトまたはハンドラー コードが使用できない場合でも、データを取得できます。 |
ADVFCACHE_ONSAVE | キャッシュされた表現を更新するのは、キャッシュを含むオブジェクトが保存されている場合のみです。 キャッシュは、OLE オブジェクトが実行中の状態から読み込み状態に戻ったときにも更新されます (後続の保存操作ではオブジェクトを再度実行する必要があるため)。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | oleidl.h |