次の方法で共有


COleDataSource::OnSetData

更新 : 2007 年 11 月

COleDataSource オブジェクトのデータを指定された形式で設定するか、または置き換えるためにフレームワークが呼び出します。

virtual BOOL OnSetData(
   LPFORMATETC lpFormatEtc,
   LPSTGMEDIUM lpStgMedium,
   BOOL bRelease 
);

パラメータ

  • lpFormatEtc
    置き換えられるデータの形式を指定している FORMATETC 構造体へのポインタ。

  • lpStgMedium
    COleDataSource オブジェクトの現在の内容を置き換えるデータを保持する STGMEDIUM 構造体へのポインタ。

  • bRelease
    関数の呼び出し後、ストレージ メディアの所有者を示します。ストレージ メディアの代わりに確保されたリソースをだれが解放するかを、呼び出し元が決めます。呼び出し元は、これを bRelease を設定することによって決定します。bRelease が 0 以外のときは、データ ソースが所有権を持ち、使用終了時に媒体を解放します。bRelease が 0 のときは、呼び出し元に所有権が残ります。データ ソースは呼び出されている間だけ媒体を使うことができます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

データ ソースはデータを正常に取得するまで、データの所有権を持ちません。つまり、OnSetData が 0 を返すと、データ ソースはデータの所有権を持ちません。データ ソースが所有権を持つときは、ReleaseStgMedium 関数を呼び出して、ストレージ メディアを解放します。

既定の実装では、何も行われません。指定された形式でデータを置き換えるには、この関数をオーバーライドします。これは、オーバライド可能な高度な関数です。

詳細については、Windows SDK の STGMEDIUM 構造体、FORMATETC 構造体、ReleaseStgMedium 関数、および IDataObject::GetData 関数を参照してください。

必要条件

ヘッダー : afxole.h

参照

参照

COleDataSource クラス

階層図

COleDataSource::DelaySetData

COleDataSource::OnRenderData

COleDataSource::OnRenderFileData

COleDataSource::OnRenderGlobalData

COleServerItem::OnSetData

その他の技術情報

COleDataSource のメンバ