Compartir a través de


Método IPrintCoreHelper::CreateInstanceOfMSXMLObject (prcomoem.h)

El método IPrintCoreHelper::CreateInstanceOfMSXMLObject crea una instancia de un objeto MSXML 6.0 mediante el archivo DLL de MSXML correcto.

Sintaxis

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

Parámetros

[in] rclsid

CLSID asociado a los datos y el código que se usarán para crear el objeto.

[in] pUnkOuter

Puntero a la interfaz del objeto agregado (el control IUnknown). Este parámetro debe ser NULL, lo que significa que el objeto no se crea como parte de un agregado.

[in] dwClsContext

Contexto en el que se ejecutará el código que administra el objeto recién creado. Los únicos valores válidos son NULL y CLSCTX_INPROC_SERVER, que es un valor de la enumeración CLSCTX (que se describe en la documentación de Microsoft Windows SDK).

[in] riid

Referencia al identificador de la interfaz que se usará para comunicarse con el objeto .

[out] ppv

Puntero a una variable que recibe la dirección de la interfaz que se solicita en el parámetro riid . Si IPrintCoreHelper::CreateInstanceOfMSXMLObject devuelve correctamente, * ppv contiene la dirección de la interfaz solicitada. Si se produce un error en este método, *ppv contiene NULL.

Valor devuelto

IPrintCoreHelper::CreateInstanceOfMSXMLObject debe devolver uno de los valores siguientes.

Código devuelto Descripción
S_OK
Se creó correctamente una instancia de la clase de objeto especificada.
CLASS_E_NOAGGREGATION
No se puede crear la clase especificada como parte de un agregado.
E_NOINTERFACE
La clase especificada no implementa la interfaz solicitada o la interfaz de control IUnknown no expone la interfaz solicitada.
REGDB_E_CLASSNOTREG
Una clase especificada no está registrada en la base de datos de registro. Este valor también puede indicar que el tipo de servidor solicitado en el tipo de enumeración CLSCTX no está registrado o que los valores de los tipos de servidor del Registro están dañados.

Observaciones

IPrintCoreHelper::CreateInstanceOfMSXMLObject permite que un complemento use objetos MSXML de forma segura incluso cuando se ejecuta en máquinas cliente de nivel descendente (es decir, máquinas cliente que ejecutan Windows Server 2003, Windows XP o Windows 2000).

Los parámetros de este método se asignan directamente a los de la función CoCreateInstance (que se describe en la documentación de Windows SDK). Tenga en cuenta que la instalación de un controlador de Windows Vista en un equipo que ejecuta una versión anterior de Windows no hace que se instale MSXML 6.0. El archivo DLL real se incluye con los archivos DLL dependientes del controlador y se carga desde el directorio del controlador. No está registrado en el sistema. Los complementos que usan este método solo deben crear objetos MSXML.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de prcomoem.h (include Prcomoem.h)