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