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


Функция OleCreateFromFile (ole2.h)

Создает внедренный объект из содержимого именованного файла.

Синтаксис

HRESULT OleCreateFromFile(
  [in]  REFCLSID        rclsid,
  [in]  LPCOLESTR       lpszFileName,
  [in]  REFIID          riid,
  [in]  DWORD           renderopt,
  [in]  LPFORMATETC     lpFormatEtc,
  [in]  LPOLECLIENTSITE pClientSite,
  [in]  LPSTORAGE       pStg,
  [out] LPVOID          *ppvObj
);

Параметры

[in] rclsid

Этот параметр зарезервирован и должен быть CLSID_NULL.

[in] lpszFileName

Указатель на строку, указывающую полный путь к файлу, из которого следует инициализировать объект.

[in] riid

Ссылка на идентификатор интерфейса, который позднее будет использоваться вызывающим объектом для взаимодействия с новым объектом (обычно IID_IOleObject, определенный в заголовках OLE как идентификатор интерфейса IOleObject).

[in] renderopt

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

[in] lpFormatEtc

В зависимости от того, какой из флагов OLERENDER используется в качестве значения renderopt, указатель на одно из значений перечисления FORMATETC . Дополнительные сведения об ограничениях см. в перечислении OLERENDER .

[in] pClientSite

Указатель на экземпляр IOleClientSite, основной интерфейс, через который объект будет запрашивать службы из своего контейнера. Этот параметр может принимать значение NULL.

[in] pStg

Указатель на интерфейс IStorage в объекте хранилища. Этот параметр не может иметь значение NULL.

[out] ppvObj

Адрес переменной указателя, которая получает указатель интерфейса, запрошенный в riid. После успешного возврата *ppvObj содержит запрошенный указатель интерфейса на вновь созданный объект.

Возвращаемое значение

Эта функция возвращает S_OK об успешном выполнении. Ниже перечислены другие возможные значения.

Код возврата Описание
STG_E_FILENOTFOUND
Файл не привязан.
OLE_E_CANT_BINDTOSOURCE
Не удается выполнить привязку к источнику.
STG_E_MEDIUMFULL
Среда заполнена.
DV_E_TYMED
Недопустимый TYMED.
DV_E_LINDEX
Недопустимый LINDEX.
DV_E_FORMATETC
Недопустимая структура FORMATETC.

Комментарии

Функция OleCreateFromFile создает новый внедренный объект из содержимого именованного файла. Если ProgID в базе данных регистрации содержит ключ PackageOnFileDrop, он создает пакет. В противном случае функция вызывает функцию GetClassFile , чтобы получить идентификатор CLSID, связанный с параметром lpszFileName , а затем создает внедренный объект OLE 2, связанный с этим CLSID. Параметр rclsidoleCreateFromFile всегда игнорируется и должен иметь значение CLSID_NULL.

Как и для других функций OleCreateXxx, созданный объект не отображается пользователю для редактирования, для чего требуется операция DoVerb . Он используется для реализации операций вставки файлов.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ole2.h (включая Ole2.h)
Библиотека Ole32.lib
DLL Ole32.dll

См. также раздел

GetClassFile