Поделиться через


Класс IDataObjectImpl

Этот класс предоставляет методы для поддержки унифицированных подключений для передачи данных и управления ими.

Внимание

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения Windows.

Синтаксис

template<class T>
class IDataObjectImpl

Параметры

T
Класс, производный от IDataObjectImpl.

Участники

Открытые методы

Имя Описание
IDataObjectImpl::D Advise Устанавливает соединение между объектом данных и приемником рекомендаций. Это позволяет приемнику советовать получать уведомления об изменениях в объекте.
IDataObjectImpl::D Unadvise Завершает подключение, установленное ранее с помощью 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 предоставляет методы для поддержки универсальной передачи данных. IDataObject использует стандартные структуры формата FORMATETC и STGMEDIUM для извлечения и хранения данных.

IDataObject также управляет подключениями, чтобы советовать приемникам обрабатывать уведомления об изменении данных. Чтобы клиент получал уведомления об изменении данных из объекта данных, клиент должен реализовать интерфейс IAdviseSink в объекте, который называется приемником советов. После вызова IDataObject::DAdviseклиента устанавливается соединение между объектом данных и приемником рекомендаций.

Класс IDataObjectImpl предоставляет реализацию IDataObject и реализуется IUnknown по умолчанию, отправляя сведения на устройство дампа в отладочных сборках.

Руководство по созданию проекта ATL в статьях ATL

Иерархия наследования

IDataObject

IDataObjectImpl

Требования

Header: atlctl.h

IDataObjectImpl::D Advise

Устанавливает соединение между объектом данных и приемником рекомендаций.

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

Замечания

Это позволяет приемнику советовать получать уведомления об изменениях в объекте.

Чтобы завершить подключение, вызовите DUnadvise.

См . раздел IDataObject::D Advise в пакете SDK для Windows.

IDataObjectImpl::D Unadvise

Завершает подключение, ранее установленное через DAdvise.

HRESULT DUnadvise(DWORD dwConnection);

Замечания

См. раздел IDataObject::D Unadvise в пакете SDK для Windows.

IDataObjectImpl::EnumDAdvise

Создает перечислитель для итерации с помощью текущих соединений с советами.

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

Замечания

См. раздел IDataObject::EnumDAdvise в пакете SDK для Windows.

IDataObjectImpl::EnumFormatEtc

Создает перечислитель для итерации через FORMATETC структуры, поддерживаемые объектом данных.

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

Замечания

См. раздел IDataObject::EnumFormatEtc в пакете SDK для Windows.

Возвращаемое значение

Возвращает E_NOTIMPL.

IDataObjectImpl::FireDataChange

Отправляет уведомление об изменении обратно в каждый приемник рекомендаций, который в настоящее время управляется.

HRESULT FireDataChange();

Возвращаемое значение

Стандартное значение HRESULT.

IDataObjectImpl::GetCanonicalFormatEtc

Извлекает логическую эквивалентную FORMATETC структуру более сложной.

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

Возвращаемое значение

Возвращает E_NOTIMPL.

Замечания

См. раздел IDataObject::GetCanonicalFormatEtc в пакете SDK для Windows.

IDataObjectImpl::GetData

Передает данные из объекта данных клиенту.

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

Замечания

Параметр pformatetcIn должен указать средний тип хранилища TYMED_MFPICT.

См. раздел IDataObject::GetData в пакете SDK для Windows.

IDataObjectImpl::GetDataHere

Аналогично, за исключением того, что GetDataклиент должен выделить структуру STGMEDIUM .

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

Возвращаемое значение

Возвращает E_NOTIMPL.

Замечания

См. раздел IDataObject::GetDataHere в пакете SDK для Windows.

IDataObjectImpl::QueryGetData

Определяет, поддерживает ли объект данных определенную FORMATETC структуру для передачи данных.

HRESULT QueryGetData(FORMATETC* pformatetc);

Возвращаемое значение

Возвращает E_NOTIMPL.

Замечания

См. раздел IDataObject::QueryGetData в пакете SDK для Windows.

IDataObjectImpl::SetData

Передает данные из клиента в объект данных.

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

Возвращаемое значение

Возвращает E_NOTIMPL.

Замечания

См. раздел IDataObject::SetData в пакете SDK для Windows.

См. также

Общие сведения о классе