Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека активных шаблонов (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.