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::OnRenderFileData
COleDataSource::OnRenderGlobalData