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


CComPtrBase::CoCreateInstance

Вызовите этот метод, чтобы создать объект класса, связанного с указанным идентификатором класса, либо запрограммировать идентификатор.

HRESULT CoCreateInstance(
   LPCOLESTR szProgID,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );
HRESULT CoCreateInstance(
   REFCLSID rclsid,
   LPUNKNOWN pUnkOuter = NULL,
   DWORD dwClsContext = CLSCTX_ALL 
) throw( );

Параметры

  • szProgID
    Указатель на идентификатору ProgID, используемым для получения идентификатора CLSID.

  • pUnkOuter
    Если NULL, указывает на то, что объект не создан как часть пользователем агрегате.Если не NULL указатель на интерфейс, IUnknown aggregate объекта (управление IUnknown).

  • dwClsContext
    Контекст, в котором код, который управляет вновь созданный объект запускается.

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

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

Возвращает значение S_ОК на успешное или REGDB_E_CLASSNOTREG, CLASS_E_NOAGGREGATION, CO_E_CLASSSTRING или E_NOINTERFACE при сбое.См. раздел CoCreateClassInstance и CLSIDFromProgID описание этих ошибок.

Заметки

Если первая форма метода называется, то CLSIDFromProgID используется для получения идентификатора CLSID.Обе формы затем вызывает CoCreateClassInstance.

В отладочные построения, произойдет ошибка утверждения если CComPtrBase::p не равно NULL.

Требования

Header: atlcomcli.h

См. также

Ссылки

Класс CComPtrBase