IDataObjectImpl クラス
このクラスは、Uniform Data Transfer のサポートと接続の管理のためのメソッドを提供します。
重要
このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。
構文
template<class T>
class IDataObjectImpl
パラメーター
T
IDataObjectImpl
から派生したクラス。
メンバー
パブリック メソッド
名前 | 説明 |
---|---|
IDataObjectImpl::DAdvise | データ オブジェクトとアドバイス シンク間の接続を確立します。 これにより、アドバイス シンクは、オブジェクトの変更の通知を受け取ることができます。 |
IDataObjectImpl::DUnadvise | 以前に DAdvise を介して確立した接続を終了します。 |
IDataObjectImpl::EnumDAdvise | 現在のアドバイザリ コネクションを反復する列挙子を作成します。 |
IDataObjectImpl::EnumFormatEtc | データ オブジェクトでサポートされている FORMATETC 構造体を介して反復する列挙子を作成します。 ATL 実装によって E_NOTIMPL が返されます。 |
IDataObjectImpl::FireDataChange | 各アドバイス シンクに変更通知を送り返します。 |
IDataObjectImpl::GetCanonicalFormatEtc | 論理的により複雑なものと同等の FORMATETC 構造体を取得します。 ATL 実装によって E_NOTIMPL が返されます。 |
IDataObjectImpl::GetData | データ オブジェクトからクライアントにデータを転送します。 データは FORMATETC 構造体で記述され、STGMEDIUM 構造体を通じて転送されます。 |
IDataObjectImpl::GetDataHere | GetData と似ていますが、クライアントが STGMEDIUM 構造体を割り当てる必要がある点が異なります。 ATL 実装によって E_NOTIMPL が返されます。 |
IDataObjectImpl::QueryGetData | データ オブジェクトが、データ転送の特定の FORMATETC 構造体をサポートしているかどうかが判断されます。 ATL 実装によって E_NOTIMPL が返されます。 |
IDataObjectImpl::SetData | クライアントからデータ オブジェクトにデータを転送します。 ATL 実装によって E_NOTIMPL が返されます。 |
解説
IDataObject インターフェイスには、Uniform Data Transfer をサポートするメソッドが用意されています。 IDataObject
では、FORMATETC および STGMEDIUM という標準形式の構造体を使用してデータが取得および格納されます。
IDataObject
は、データ変更通知を処理するためのアドバイス シンクへの接続も管理します。 クライアントがデータ オブジェクトからデータ変更通知を受信するためには、クライアントはアドバイズシンクと呼ばれるオブジェクトに IAdviseSink インターフェイスを実装する必要があります。 次にクライアントが IDataObject::DAdvise
を呼び出すと、データ オブジェクトとアドバイス シンクの間に接続が確立されます。
クラス IDataObjectImpl
により、既定の IDataObject
の実装が提供され、デバッグ ビルドでダンプ デバイスに情報を送信することによって IUnknown
が実装されます。
関連記事 ATL チュートリアル、 ATL プロジェクトの作成
継承階層
IDataObject
IDataObjectImpl
要件
ヘッダー: atlctl.h
IDataObjectImpl::DAdvise
データ オブジェクトとアドバイス シンク間の接続を確立します。
HRESULT DAdvise(
FORMATETC* pformatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection);
解説
これにより、アドバイス シンクは、オブジェクトの変更の通知を受け取ることができます。
接続を終了するには、DUnadvise を呼び出します。
Windows SDK の IDataObject::DAdvise に関するページを参照してください。
IDataObjectImpl::DUnadvise
以前に DAdvise を介して確立した接続を終了します。
HRESULT DUnadvise(DWORD dwConnection);
解説
Windows SDK の IDataObject::DUnadvise に関するページを参照してください。
IDataObjectImpl::EnumDAdvise
現在のアドバイザリ コネクションを反復する列挙子を作成します。
HRESULT DAdvise(
FORMATETC* pformatetc,
DWORD advf,
IAdviseSink* pAdvSink,
DWORD* pdwConnection);
解説
Windows SDK の IDataObject::EnumDAdvise に関するページを参照してください。
IDataObjectImpl::EnumFormatEtc
データ オブジェクトでサポートされている FORMATETC
構造体を介して反復する列挙子を作成します。
HRESULT EnumFormatEtc(
DWORD dwDirection,
IEnumFORMATETC** ppenumFormatEtc);
解説
Windows SDK の IDataObject::EnumFormatEtc に関するページを参照してください。
戻り値
E_NOTIMPL を返します。
IDataObjectImpl::FireDataChange
現在管理されている各アドバイス シンクに変更通知を送り返します。
HRESULT FireDataChange();
戻り値
標準の HRESULT 値。
IDataObjectImpl::GetCanonicalFormatEtc
論理的により複雑なものと同等の FORMATETC
構造体を取得します。
HRESULT GetCanonicalFormatEtc(FORMATETC* pformatetcIn, FORMATETC* pformatetcOut);
戻り値
E_NOTIMPL を返します。
解説
Windows SDK の IDataObject::GetCanonicalFormatEtc に関するページを参照してください。
IDataObjectImpl::GetData
データ オブジェクトからクライアントにデータを転送します。
HRESULT GetData(
FORMATETC* pformatetcIn,
STGMEDIUM* pmedium);
解説
pformatetcIn パラメーターは、TYMED_MFPICT のストレージ メディアの種類を指定する必要があります。
Windows SDK の IDataObject::GetData に関するページを参照してください。
IDataObjectImpl::GetDataHere
GetData
と似ていますが、クライアントが STGMEDIUM
構造体を割り当てる必要がある点が異なります。
HRESULT GetDataHere(
FORMATETC* pformatetc,
STGMEDIUM* pmedium);
戻り値
E_NOTIMPL を返します。
解説
Windows SDK の IDataObject::GetDataHere に関するページを参照してください。
IDataObjectImpl::QueryGetData
データ オブジェクトが、データ転送の特定の FORMATETC
構造体をサポートしているかどうかが判断されます。
HRESULT QueryGetData(FORMATETC* pformatetc);
戻り値
E_NOTIMPL を返します。
解説
Windows SDK の IDataObject::QueryGetData に関するページを参照してください。
IDataObjectImpl::SetData
クライアントからデータ オブジェクトにデータを転送します。
HRESULT SetData(
FORMATETC* pformatetc,
STGMEDIUM* pmedium,
BOOL fRelease);
戻り値
E_NOTIMPL を返します。
解説
Windows SDK の IDataObject::SetData に関するページを参照してください。