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


Класс IDataObjectImpl

Замечание

Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

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

Внимание

Этот класс и его члены нельзя использовать в приложениях, выполняемых в среде выполнения 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

Требования

Заголовок: 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.

См. также

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