Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.