CComPtrBase::CoCreateInstance

调用此方法创建选件类的对象与指定的选件类ID或程序ID.

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 接口(控件 IUnknown)。

  • dwClsContext
    代码管理新创建的对象上运行的上下文。

  • rclsid
    CLSID与将用于创建对象的数据和代码。

返回值

返回在成功的S_OK或REGDB_E_CLASSNOTREG、CLASS_E_NOAGGREGATION、CO_E_CLASSSTRING或E_NOINTERFACE在失败。 有关这些错误的说明参见 CoCreateClassInstanceCLSIDFromProgID

备注

如果该方法的第一个窗体调用,CLSIDFromProgID 用于恢复CLSID。 两种形式然后调用 CoCreateClassInstance

如果 CComPtrBase::p 使用NULL,不相等在调试版本中,断言会出现错误。

要求

Header: atlcomcli.h

请参见

参考

CComPtrBase选件类