SHCoCreateInstance 函数 (shlobj_core.h)
[SHCoCreateInstance 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 CoCreateInstance。]
(COM) 在 Shell32.dll 中实现的对象创建组件对象模型。
语法
SHSTDAPI SHCoCreateInstance(
[in, optional] PCWSTR pszCLSID,
[in, optional] const CLSID *pclsid,
[in, optional] IUnknown *pUnkOuter,
[in] REFIID riid,
[out] void **ppv
);
参数
[in, optional] pszCLSID
类型: PCWSTR
指向要转换为 CLSID 的字符串的指针。 如果 为 NULL, 则 pclsid 用作 CLSID。
[in, optional] pclsid
类型: const CLSID*
要创建的 CLSID。
[in, optional] pUnkOuter
类型: IUnknown*
指向外部 IUnknown 的指针。 用于聚合。
[in] riid
类型: REFIID
对要通过 ppv 检索的接口的 IID 的引用。
[out] ppv
类型: void**
当此函数成功返回时,接收 riid 中请求的接口指针。
返回值
类型: HRESULT
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
建议使用 objbase.h 中定义的 IID_PPV_ARGS 宏来打包 riid 和 ppv 参数。 此宏基于 ppv 中值指向的接口提供正确的 IID,这消除了可能导致意外结果的 riid 编码错误的可能性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | shlobj_core.h (包括 Shlobj.h) |
Library | Shell32.lib |
DLL | Shell32.dll (5.0 或更高版本) |