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,这是 CLSCTX 枚举的值(Microsoft Windows SDK 文档中所述)。

[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 的客户端计算机)。

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

要求

要求 价值
目标平台 桌面
标头 prcomoem.h (include Prcomoem.h)