Класс 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.