Функция OleCreate (ole.h)
Создает внедренный объект, идентифицируемый идентификатором CLSID. Обычно он используется для реализации пункта меню, который позволяет конечному пользователю вставить новый объект.
Синтаксис
OLESTATUS OleCreate(
LPCSTR unnamedParam1,
LPOLECLIENT unnamedParam2,
LPCSTR unnamedParam3,
LHCLIENTDOC unnamedParam4,
LPCSTR unnamedParam5,
LPOLEOBJECT *unnamedParam6,
OLEOPT_RENDER unnamedParam7,
OLECLIPFORMAT unnamedParam8
);
Параметры
unnamedParam1
TBD
unnamedParam2
TBD
unnamedParam3
TBD
unnamedParam4
TBD
unnamedParam5
TBD
unnamedParam6
TBD
unnamedParam7
TBD
unnamedParam8
TBD
Возвращаемое значение
Эта функция возвращает S_OK об успешном выполнении и поддерживает стандартное возвращаемое значение E_OUTOFMEMORY.
Код возврата | Описание |
---|---|
|
Недостаточно памяти для операции. |
Комментарии
Функция OleCreate создает новый внедренный объект и обычно вызывается для реализации пункта меню Вставка нового объекта. При возврате OleCreate созданный объект будет пустым (не содержит данных), если только не OLERENDER_DRAW или OLERENDER_FORMAT renderopt и не загружен. Контейнеры обычно вызывают функцию OleRun или IOleObject::D oVerb , чтобы отобразить объект для первоначального редактирования.
Параметр rclsid указывает CLSID запрошенного объекта. Идентификаторы CLSID зарегистрированных объектов хранятся в системном реестре. Когда пользователь приложения выбирает команду Вставить объект, поле выбора позволяет пользователю выбрать нужный тип объекта из реестра. Если для реализации элемента меню Вставка объекта используется OleCreate , идентификатор CLSID, связанный с выбранным элементом, назначается параметру rclsid объекта OleCreate.
Параметр riid указывает интерфейс, который клиент будет использовать для взаимодействия с новым объектом. После успешного возврата параметр ppvObject содержит указатель на запрошенный интерфейс.
Кэш созданного объекта содержит сведения, которые позволяют представление автономного объекта при открытии контейнера. Сведения о том, что следует кэшировать, передаются в значениях renderopt и pFormatetc . При возврате OleCreate кэш созданного объекта не обязательно заполняется. Вместо этого кэш заполняется при первом переходе объекта в состояние выполнения. Вызывающий объект может добавить дополнительный элемент управления кэшем с помощью вызова IOleCache::Cache после возврата OleCreate и перед запуском объекта. Если renderopt OLERENDER_DRAW или OLERENDER_FORMAT, OleCreate требует, чтобы объект поддерживал интерфейс IOleCache . Такого требования для любого другого значения renderopt не существует.
Если pClientSite не равно NULL, OleCreate вызывает IOleObject::SetClientSite через указатель pClientSite . IOleClientSite — это основной интерфейс, с помощью которого объект запрашивает службы из своего контейнера. Если pClientSite имеет значение NULL, необходимо выполнить определенный вызов IOleObject::SetClientSite перед попыткой выполнения каких-либо операций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | ole.h (включая Ole2.h) |
Библиотека | Ole32.lib |
DLL | Ole32.dll |