次の方法で共有


IOleCacheControl::OnRun メソッド (oleidl.h)

キャッシュ オブジェクトが必要に応じてアドバイス シンクを確立できるように、データ ソース オブジェクトが実行中の状態に入っていることをキャッシュに通知します。

構文

HRESULT OnRun(
  [in] LPDATAOBJECT pDataObject
);

パラメーター

[in] pDataObject

実行中の状態に入っているオブジェクトの IDataObject インターフェイスへのポインター。

戻り値

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

リターン コード 説明
E_INVALIDARG
引数の 1 つが無効です。
E_UNEXPECTED
予期しないエラーが発生しました。
E_OUTOFMEMORY
この操作で使用できるメモリが不足しています。

注釈

OnRun が呼び出されると、キャッシュは必要に応じてソース データ オブジェクトとのアドバイザリ接続を設定し、通知を受信できるようにします。 実行中のオブジェクトとキャッシュの間に作成されたアドバイザリ接続は、 IOleCacheControl::OnStop が呼び出されると破棄されます。

一部のオブジェクト ハンドラーまたはインプロセス サーバーでは、キャッシュをパッシブに使用し、 OnRun を呼び出さない場合があります。 これらのアプリケーションでは、キャッシュが更新されるようにするために、必要に応じてキャッシュを埋めるために、 IOleCache2::UpdateCacheIOleCache::InitCache、または IOleCache::SetData を呼び出す必要があります。

OnRun は、pDataObject で渡された IDataObject へのポインターに参照カウントを追加しません。 OleRun の呼び出し元は、OnStop が呼び出されるまで pDataObject ポインターの有効期間が続くことを確認する必要があるため、呼び出し元は対象のデータ オブジェクトの IDataObject へのポインターを保持している必要があります。

要件

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

こちらもご覧ください

IOleCache2::UpdateCache

IOleCacheControl

IOleCacheControl::OnStop