IPrintCoreHelper::CreateInstanceOfMSXMLObject 方法 (prcomoem.h)

IPrintCoreHelper::CreateInstanceOfMSXMLObject 方法使用正确的 MSXML DLL 创建 MSXML 6.0 对象的实例。

语法

HRESULT CreateInstanceOfMSXMLObject(
  [in]  IN REFCLSID  rclsid,
  [in]  IN LPUNKNOWN pUnkOuter,
  [in]  IN DWORD     dwClsContext,
  [in]  IN REFIID    riid,
  [out] OUT LPVOID   *ppv
);

参数

[in] rclsid

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

[in] pUnkOuter

指向聚合对象的 IUnknown 接口的指针, (控制 IUnknown) 。 此参数必须为 NULL,这意味着对象不是作为聚合的一部分创建的。

[in] dwClsContext

管理新创建对象的代码将在其中运行的上下文。 唯一有效的值是 NULL 和 CLSCTX_INPROC_SERVER,这是 Microsoft Windows SDK 文档) 中描述的 CLSCTX 枚举 (的值。

[in] riid

对接口标识符的引用,该接口将用于与 对象通信。

[out] ppv

指向变量的指针,该变量接收 riid 参数中请求的接口的地址。 如果 IPrintCoreHelper::CreateInstanceOfMSXMLObject 成功返回,则 *ppv 包含所请求接口的地址。 如果此方法失败,则 *ppv 包含 NULL

返回值

IPrintCoreHelper::CreateInstanceOfMSXMLObject 应返回以下值之一。

返回代码 说明
S_OK
已成功创建指定对象类的实例。
CLASS_E_NOAGGREGATION
无法将指定的类创建为聚合的一部分。
E_NOINTERFACE
指定的类不实现请求的接口,或者控制 IUnknown 接口不公开请求的接口。
REGDB_E_CLASSNOTREG
指定的类未在注册数据库中注册。 此值还可以指示在 CLSCTX 枚举类型中请求的服务器类型未注册,或者注册表中服务器类型的值已损坏。

注解

IPrintCoreHelper::CreateInstanceOfMSXMLObject 使插件能够安全地使用 MSXML 对象,即使它在下层客户端计算机上运行, (即运行 Windows Server 2003、Windows XP 或 Windows 2000) 的客户端计算机。

此方法中的参数直接映射到 Windows SDK 文档) 中所述的 CoCreateInstance 函数 (的参数。 请注意,在运行以前版本的 Windows 的计算机上安装 Windows Vista 驱动程序不会导致安装 MSXML 6.0。 实际 DLL 包含在依赖于驱动程序的 DLL 中,并从驱动程序目录加载。 它未在系统上注册。 使用此方法的插件应仅创建 MSXML 对象。

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)