_com_ptr_t::CreateInstance
Microsoft 专用
创建给定了 CLSID
或 ProgID
的对象的新实例。
语法
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 专用
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈