次の方法で共有


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 に関するページを参照してください。

関連項目

クラスの概要