Метод ITypeInfo::CreateInstance (oaidl.h)
Создает новый экземпляр типа , описывающего класс объекта компонента (coclass).
Синтаксис
HRESULT CreateInstance(
[in] IUnknown *pUnkOuter,
[in] REFIID riid,
[out] PVOID *ppvObj
);
Параметры
[in] pUnkOuter
Управляющий IUnknown. Если значение равно NULL, создается автономный экземпляр. Если это допустимо, создается агрегатный объект.
[in] riid
Идентификатор интерфейса, который вызывающий объект будет использовать для взаимодействия с результирующий объект.
[out] ppvObj
Экземпляр созданного объекта.
Возвращаемое значение
Код возврата | Описание |
---|---|
|
Успешно. |
|
Один или несколько аргументов недопустимы. |
|
Недостаточно памяти для завершения операции. |
|
OLE не удалось найти реализацию одного или нескольких необходимых интерфейсов. |
Из GetActiveObject или CoCreateInstance могут возвращаться дополнительные ошибки.
Комментарии
Для типов, описывающих класс объекта компонента (coclass), CreateInstance создает новый экземпляр класса . Как правило, CreateInstance вызывает CoCreateInstance с идентификатором GUID описания типа. Для объекта Application он сначала вызывает GetActiveObject. Если приложение активно, GetActiveObject возвращает активный объект ; В противном случае, если GetActiveObject завершается сбоем , CreateInstance вызывает CoCreateInstance.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | oaidl.h |