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


Интерфейс IDataObject (objidl.h)

Включает передачу данных и уведомление об изменениях в данных. Методы передачи данных определяют формат передаваемых данных вместе со средой, через которую необходимо передавать данные. При необходимости данные можно визуализировать для определенного целевого устройства. Помимо методов извлечения и хранения данных, интерфейс IDataObject определяет методы перечисления доступных форматов и управления подключениями к приемникам рекомендаций для обработки уведомлений об изменениях.

Термин data object обозначает любой объект, поддерживающий реализацию интерфейса IDataObject . Реализации различаются в зависимости от того, что требуется сделать объекту данных; в некоторых объектах данных реализация некоторых методов, не поддерживаемых объектом, может быть просто возвратом E_NOTIMPL. Например, некоторые объекты данных не позволяют вызывающим объектам отправлять им данные. Другие объекты данных не поддерживают консультативные подключения и уведомления об изменениях. Однако для тех объектов данных, которые поддерживают уведомления об изменениях, OLE предоставляет объект, называемый держателем рекомендаций по данным. Указатель интерфейса на этот держатель доступен через вызов вспомогательной функции CreateDataAdviseHolder. Объект данных может иметь несколько подключений, каждое из которых имеет собственный набор атрибутов. Держатель рекомендаций по данным OLE упрощает задачу управления этими подключениями и отправки соответствующих уведомлений.

Наследование

Интерфейс IDataObject наследуется от интерфейса IUnknown . IDataObject также имеет следующие типы элементов:

Методы

Интерфейс IDataObject содержит следующие методы.

 
IDataObject::D Advise

Вызывается объектом, поддерживающим приемник рекомендаций, для создания соединения между объектом данных и приемником рекомендаций. Это позволяет приемнику рекомендаций получать уведомления об изменениях в данных объекта .
IDataObject::D Unadvise

Удаляет ранее настроенное подключение к уведомлениям.
IDataObject::EnumDAdvise

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

Создает объект для перечисления форматов, поддерживаемых объектом данных.
IDataObject::GetCanonicalFormatEtc

Предоставляет потенциально отличную, но логически эквивалентную структуру FORMATETC. Этот метод используется для определения того, будут ли две разные структуры FORMATETC возвращать одни и те же данные, устраняя необходимость в дублировании отрисовки.
IDataObject::GetData

Вызывается потребителем данных для получения данных из исходного объекта данных.
IDataObject::GetDataHere

Вызывается потребителем данных для получения данных из исходного объекта данных. Этот метод отличается от метода GetData тем, что вызывающий объект должен выделить и освободить указанный носитель хранилища.
IDataObject::QueryGetData

Определяет, способен ли объект данных выполнять отрисовку данных, как указано. Объекты, пытающиеся выполнить операцию вставки или удаления, могут вызвать этот метод перед вызовом IDataObject::GetData, чтобы получить представление о том, может ли операция быть успешной.
IDataObject::SetData

Вызывается объектом, содержащим источник данных, для передачи данных в объект, реализующий этот метод.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header objidl.h