Udostępnij za pośrednictwem


Klasa IDataObjectImpl

Ta klasa udostępnia metody obsługi ujednoliconego transferu danych i zarządzania połączeniami.

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

template<class T>
class IDataObjectImpl

Parametry

T
Klasa pochodząca z IDataObjectImplklasy .

Elementy członkowskie

Metody publiczne

Nazwa/nazwisko opis
IDataObjectImpl::D Advise Ustanawia połączenie między obiektem danych a ujściem doradcy. Dzięki temu ujście doradcy może otrzymywać powiadomienia o zmianach w obiekcie.
IDataObjectImpl::D Unadvise Przerywa połączenie wcześniej ustanowione za pośrednictwem polecenia DAdvise.
IDataObjectImpl::EnumDAdvise Tworzy moduł wyliczający do iterowania za pośrednictwem bieżących połączeń doradczych.
IDataObjectImpl::EnumFormatEtc Tworzy moduł wyliczający do iterowania po FORMATETC strukturach obsługiwanych przez obiekt danych. Implementacja ATL zwraca E_NOTIMPL.
IDataObjectImpl::FireDataChange Wysyła powiadomienie o zmianie z powrotem do każdego doradcy ujścia.
IDataObjectImpl::GetCanonicalFormatEtc Pobiera logicznie równoważną FORMATETC strukturę do tej, która jest bardziej złożona. Implementacja ATL zwraca E_NOTIMPL.
IDataObjectImpl::GetData Transferuje dane z obiektu danych do klienta. Dane są opisywane w FORMATETC strukturze i przesyłane za pomocą STGMEDIUM struktury.
IDataObjectImpl::GetDataHere Podobnie jak GetData, z wyjątkiem klienta musi przydzielić STGMEDIUM strukturę. Implementacja ATL zwraca E_NOTIMPL.
IDataObjectImpl::QueryGetData Określa, czy obiekt danych obsługuje określoną FORMATETC strukturę do przesyłania danych. Implementacja ATL zwraca E_NOTIMPL.
IDataObjectImpl::SetData Transferuje dane z klienta do obiektu danych. Implementacja ATL zwraca E_NOTIMPL.

Uwagi

Interfejs IDataObject udostępnia metody obsługi ujednoliconego transferu danych. IDataObject używa standardowych struktur formatowania FORMATETC i STGMEDIUM do pobierania i przechowywania danych.

IDataObject Zarządza również połączeniami, aby doradzać ujściom obsługę powiadomień o zmianie danych. Aby klient odbierał powiadomienia o zmianie danych z obiektu danych, klient musi zaimplementować interfejs IAdviseSink na obiekcie nazywanym ujściem doradcy. Gdy następnie klient wywołuje IDataObject::DAdvisemetodę , zostanie nawiązane połączenie między obiektem danych a ujściem doradcy.

Klasa IDataObjectImpl zapewnia domyślną implementację IDataObject i implementuje IUnknown , wysyłając informacje do urządzenia zrzutu w kompilacjach debugowania.

Powiązane artykuły ATL Tutorial, Creating an ATL Project (Samouczek dotyczący tworzenia projektu ATL)

Hierarchia dziedziczenia

IDataObject

IDataObjectImpl

Wymagania

Nagłówek: atlctl.h

IDataObjectImpl::D Advise

Ustanawia połączenie między obiektem danych a ujściem doradcy.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Uwagi

Dzięki temu ujście doradcy może otrzymywać powiadomienia o zmianach w obiekcie.

Aby zakończyć połączenie, wywołaj metodę DUnadvise.

Zobacz IDataObject::D Advise w zestawie Windows SDK.

IDataObjectImpl::D Unadvise

Przerywa połączenie wcześniej ustanowione za pośrednictwem usługi DAdvise.

HRESULT DUnadvise(DWORD dwConnection);

Uwagi

Zobacz IDataObject::D Unadvise w zestawie Windows SDK.

IDataObjectImpl::EnumDAdvise

Tworzy moduł wyliczający do iterowania za pośrednictwem bieżących połączeń doradczych.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Uwagi

Zobacz IDataObject::EnumDAdvise w zestawie Windows SDK.

IDataObjectImpl::EnumFormatEtc

Tworzy moduł wyliczający do iterowania po FORMATETC strukturach obsługiwanych przez obiekt danych.

HRESULT EnumFormatEtc(
    DWORD dwDirection,
    IEnumFORMATETC** ppenumFormatEtc);

Uwagi

Zobacz IDataObject::EnumFormatEtc w zestawie Windows SDK.

Wartość zwracana

Zwraca E_NOTIMPL.

IDataObjectImpl::FireDataChange

Wysyła powiadomienie o zmianie z powrotem do każdego doradcy, który jest obecnie zarządzany.

HRESULT FireDataChange();

Wartość zwracana

Standardowa wartość HRESULT.

IDataObjectImpl::GetCanonicalFormatEtc

Pobiera logicznie równoważną FORMATETC strukturę do tej, która jest bardziej złożona.

HRESULT GetCanonicalFormatEtc(FORMATETC* pformatetcIn, FORMATETC* pformatetcOut);

Wartość zwracana

Zwraca E_NOTIMPL.

Uwagi

Zobacz IDataObject::GetCanonicalFormatEtc w zestawie Windows SDK.

IDataObjectImpl::GetData

Transferuje dane z obiektu danych do klienta.

HRESULT GetData(
    FORMATETC* pformatetcIn,
    STGMEDIUM* pmedium);

Uwagi

Parametr pformatetcIn musi określać typ nośnika magazynu TYMED_MFPICT.

Zobacz IDataObject::GetData w zestawie Windows SDK.

IDataObjectImpl::GetDataHere

Podobnie jak GetData, z wyjątkiem klienta musi przydzielić STGMEDIUM strukturę.

HRESULT GetDataHere(
    FORMATETC* pformatetc,
    STGMEDIUM* pmedium);

Wartość zwracana

Zwraca E_NOTIMPL.

Uwagi

Zobacz IDataObject::GetDataHere w zestawie Windows SDK.

IDataObjectImpl::QueryGetData

Określa, czy obiekt danych obsługuje określoną FORMATETC strukturę do przesyłania danych.

HRESULT QueryGetData(FORMATETC* pformatetc);

Wartość zwracana

Zwraca E_NOTIMPL.

Uwagi

Zobacz IDataObject::QueryGetData w zestawie Windows SDK.

IDataObjectImpl::SetData

Transferuje dane z klienta do obiektu danych.

HRESULT SetData(
    FORMATETC* pformatetc,
    STGMEDIUM* pmedium,
    BOOL fRelease);

Wartość zwracana

Zwraca E_NOTIMPL.

Uwagi

Zobacz IDataObject::SetData w zestawie Windows SDK.

Zobacz też

Omówienie klasy