Функция OleCreateLinkFromData (ole2.h)
Создает связанный объект из объекта передачи данных, полученного из буфера обмена или в рамках операции перетаскивания OLE.
Синтаксис
HRESULT OleCreateLinkFromData(
[in] LPDATAOBJECT pSrcDataObj,
[in] REFIID riid,
[in] DWORD renderopt,
[in] LPFORMATETC pFormatEtc,
[in] LPOLECLIENTSITE pClientSite,
[in] LPSTORAGE pStg,
[out] LPVOID *ppvObj
);
Параметры
[in] pSrcDataObj
Указатель на интерфейс IDataObject для объекта передачи данных, из которого создается связанный объект.
[in] riid
Ссылка на идентификатор интерфейса, который позднее использует вызывающий объект для взаимодействия с новым объектом (обычно IID_IOleObject, определенный в заголовках OLE в качестве идентификатора интерфейса для IOleObject).
[in] renderopt
Значение из перечисления OLERENDER , указывающее возможности локально кэшированного рисования или извлечения данных, которые должен иметь только что созданный объект. Дополнительные рекомендации описаны в следующем разделе Примечания.
[in] pFormatEtc
Указатель на значение из перечисления OLERENDER , указывающее возможности локально кэшированного рисования или извлечения данных, которые должен иметь только что созданный объект. Выбранное значение OLERENDER влияет на возможные значения для параметра pFormatEtc .
[in] pClientSite
Указатель на экземпляр IOleClientSite, основной интерфейс, через который объект запрашивает службы из своего контейнера. Этот параметр может принимать значение NULL.
[in] pStg
Указатель на интерфейс IStorage в объекте хранилища. Этот параметр не может иметь значение NULL.
[out] ppvObj
Адрес переменной указателя, получающей указатель интерфейса, запрошенный в riid. После успешного возврата ppvObj содержит запрошенный указатель интерфейса на вновь созданный объект.
Возвращаемое значение
Эта функция возвращает S_OK при успешном выполнении. Ниже перечислены другие возможные значения.
Код возврата | Описание |
---|---|
|
Не удается открыть буфер обмена. |
|
Не удается извлечь моникер объекта. |
|
Не удается выполнить привязку к источнику. Привязка необходима для получения данных инициализации кэша. |
Комментарии
Функция OleCreateLinkFromData используется для реализации операции вставки или перетаскивания. Его операция аналогична операции функции OleCreateFromData , за исключением того, что она создает ссылку и ищет различные форматы данных. Если формат CF_LINKSOURCE отсутствует, а в объекте передачи данных присутствует формат FileName или FileNameW, OleCreateLinkFromData создает пакет, содержащий ссылку на указанный файл.
Параметры renderopt и pFormatetc используются для управления возможностью кэширования вновь созданного объекта. Общие сведения о том, как определить, что нужно кэшировать, см. в перечислении OLERENDER для описания взаимодействия между renderopt и pFormatetc. Однако эти параметры влияют на то, как OleCreateLinkFromData инициализирует кэш, как показано ниже.
Значение | Описание |
---|---|
OLERENDER_DRAW, OLERENDER_FORMAT | Если сведения о презентации представлены в других форматах в исходном объекте данных, эти сведения используются. Если сведения отсутствуют, кэш изначально пуст, но будет заполнен при первом запуске объекта. Другие форматы не кэшируются во вновь созданном объекте. |
OLERENDER_NONE, OLERENDER_ASIS | Кэшировать во вновь созданном объекте не требуется. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ole2.h |
Библиотека | Ole32.lib |
DLL | Ole32.dll |