_com_ptr_t::CreateInstance

Microsoft 专用

创建一个给定了 CLSIDProgID 的对象的新实例。

HRESULT CreateInstance( 
   const CLSID& rclsid, 
   IUnknown* pOuter=NULL, 
   DWORD dwClsContext = CLSCTX_ALL  
) throw( ); 
HRESULT CreateInstance( 
   LPCWSTR clsidString, 
   IUnknown* pOuter=NULL, 
   DWORD dwClsContext = CLSCTX_ALL  
) throw( ); 
HRESULT CreateInstance( 
   LPCSTR clsidStringA, 
   IUnknown* pOuter=NULL, 
   DWORD dwClsContext = CLSCTX_ALL  
) throw( );

参数

  • rclsid
    对象的 CLSID

  • clsidString
    包含 CLSID(以“{”开头)或 ProgID 的 Unicode 字符串。

  • clsidStringA
    使用 ANSI 代码页并包括 CLSID(以“{”开头)或 ProgID 的多字节字符串。

  • dwClsContext
    运行可执行代码的上下文。

  • pOuter
    聚合未知的外部对象。

备注

这些成员函数调用 CoCreateInstance 来创建新的 COM 对象,然后查询此智能指针的接口类型。 生成的指针随后将封装在此 _com_ptr_t 对象内。 调用 Release 以减少前面封装的指针的引用计数。 此例程返回 HRESULT 以指示成功或失败。

  • CreateInstance( rclsid**,** dwClsContext ) 创建一个给定了 CLSID 的对象的新运行实例。

  • CreateInstance( clsidString**,** dwClsContext ) 创建给定了包含 CLSID(以“{”开头)或 ProgID 的 Unicode 字符串的对象的新运行实例。

  • CreateInstance( clsidStringA**,** dwClsContext )   创建给定了包含 CLSID(以“{”开头)或 ProgID 的多字节字符串的对象的新运行实例。 调用 MultiByteToWideChar,这假定字符串是在 ANSI 代码页中而不是 OEM 代码页中。

结束 Microsoft 专用

请参见

参考

_com_ptr_t 类