Метод ITypeInfo::CreateInstance (oaidl.h)

Создает новый экземпляр типа , описывающего класс объекта компонента (coclass).

Синтаксис

HRESULT CreateInstance(
  [in]  IUnknown *pUnkOuter,
  [in]  REFIID   riid,
  [out] PVOID    *ppvObj
);

Параметры

[in] pUnkOuter

Управляющий IUnknown. Если значение равно NULL, создается автономный экземпляр. Если это допустимо, создается агрегатный объект.

[in] riid

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

[out] ppvObj

Экземпляр созданного объекта.

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

Код возврата Описание
S_OK
Успешно.
E_INVALIDARG
Один или несколько аргументов недопустимы.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.
E_NOINTERFACE
OLE не удалось найти реализацию одного или нескольких необходимых интерфейсов.
 

Из GetActiveObject или CoCreateInstance могут возвращаться дополнительные ошибки.

Комментарии

Для типов, описывающих класс объекта компонента (coclass), CreateInstance создает новый экземпляр класса . Как правило, CreateInstance вызывает CoCreateInstance с идентификатором GUID описания типа. Для объекта Application он сначала вызывает GetActiveObject. Если приложение активно, GetActiveObject возвращает активный объект ; В противном случае, если GetActiveObject завершается сбоем , CreateInstance вызывает CoCreateInstance.

Требования

Требование Значение
Целевая платформа Windows
Header oaidl.h

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

ITypeInfo