_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
一个包含(以“{”开头的)CLSIDProgID 的 Unicode 字符串。

clsidStringA
使用 ANSI 代码页并包括(以 "{" 开头)的 CLSIDProgID 的多字节字符串。

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 类