IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 方法 (prcomoem.h)
IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 方法创建 MSXML 对象的实例。
语法
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 参数中请求的接口的地址。 如果 IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 成功返回,则 *ppv 包含所请求接口的地址。 如果此方法失败,则 *ppv 包含 NULL。
返回值
IPrintCoreHelperPS::CreateInstanceOfMSXMLObject 应返回以下值之一。
返回代码 | 说明 |
---|---|
|
已成功创建指定对象类的实例。 |
|
不能将指定的类创建为聚合的一部分。 |
|
指定的类不实现请求的接口,或者控制 IUnknown 接口不公开请求的接口。 |
|
指定的类未在注册数据库中注册。 此值还可以指示在 CLSCTX 枚举类型中请求的服务器类型未注册,或者注册表中服务器类型的值已损坏。 |
注解
插件不应通过调用 Windows SDK 文档) 中所述的 CoCreateInstance (直接创建 MSXML 对象。 相反,它应调用 Pscript 来执行此操作。 原因是,在某些可能使用打印机驱动程序的情况下(例如,在较旧的操作系统版本中),操作系统不需要注册所需的 MSXML 版本,该版本当前为版本 6。 在这种情况下,调用 CoCreateInstance 可能会失败。 但是,核心驱动程序可确保无论驱动程序位于何处,MSXML 分析程序 DLL 也存在于计算机上,以便在需要时创建 MSXML 对象。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |