Метод IDataObject::SetData (objidl.h)
Вызывается объектом, содержащим источник данных, для передачи данных в объект, реализующий этот метод.
Синтаксис
HRESULT SetData(
[in] FORMATETC *pformatetc,
[in] STGMEDIUM *pmedium,
[in] BOOL fRelease
);
Параметры
[in] pformatetc
Указатель на структуру FORMATETC, определяющую формат, используемый объектом данных при интерпретации данных, содержащихся в носителе хранилища.
[in] pmedium
Указатель на структуру STGMEDIUM, определяющую среду хранения, в которой передаются данные.
[in] fRelease
Если задано значение TRUE, объект данных с именем , который реализует SetData, является владельцем среды хранения после возврата вызова. Это означает, что после использования среда должна освободиться путем вызова функции ReleaseStgMedium . Если значение FALSE, вызывающий объект сохраняет право собственности на носитель хранилища, а объект данных, вызываемый, использует среду хранения только на протяжении всего вызова.
Возвращаемое значение
Этот метод возвращает значение S_OK при успешном завершении. Ниже перечислены другие возможные значения.
Код возврата | Описание |
---|---|
|
Недопустимое значение для lindex; В настоящее время поддерживается только -1. |
|
Недопустимое значение для pformatetc . |
|
Недопустимое значение tymed . |
|
Недопустимое значение dwAspect . |
|
Приложение-объект не выполняется. |
|
Операция не удалась. |
|
Произошла непредвиденная ошибка. |
|
Недопустимое значение dwDirection . |
|
Недостаточно доступной памяти для этой операции. |
Комментарии
SetData позволяет другому объекту попытаться отправить данные в объект данных реализации. Объект данных реализует этот метод, если поддерживает получение данных из другого объекта. Если он не поддерживает эту функцию, ее следует реализовать для возврата E_NOTIMPL.
Вызывающий объект выделяет носитель, указанный параметром pmedium , в котором передаются данные. Объект данных, который называется, не берет на себя права владения данными, пока не получит их успешно и код ошибки не возвращается. Значение параметра fRelease указывает на владение средой после возврата вызова. ЗНАЧЕНИЕ FALSE указывает, что вызывающий объект по-прежнему владеет средой, а объект данных использует его только во время вызова; Значение TRUE указывает, что объект данных теперь владеет им и должен освободить его, когда он больше не нужен.
Тип среды, указанный в параметрах pformatetc и pmedium , должен быть одинаковым. Например, один не может быть глобальным дескриптором, а другой потоком.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | objidl.h |