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

O método IPrintCoreHelperPS::CreateInstanceOfMSXMLObject cria uma instância de um objeto MSXML.

Sintaxe

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

O CLSID associado aos dados e ao código que serão usados para criar o objeto.

[in] pUnkOuter

Um ponteiro para a interface IUnknown do objeto de agregação (o IUnknown controlador). Esse parâmetro deve ser NULL, o que significa que o objeto não está sendo criado como parte de uma agregação.

[in] dwClsContext

O contexto no qual o código que gerencia o objeto recém-criado será executado. Os únicos valores válidos são NULL e CLSCTX_INPROC_SERVER, que é um valor da enumeração CLSCTX (descrito na documentação do SDK do Microsoft Windows).

[in] riid

Uma referência ao identificador da interface que será usada para se comunicar com o objeto .

[out] ppv

Um ponteiro para um endereço de memória que recebe o endereço da interface solicitada no parâmetro riid . Se IPrintCoreHelperPS::CreateInstanceOfMSXMLObject retornar com êxito , *ppv conterá o endereço da interface solicitada. Se esse método falhar, *ppv conterá NULL.

Retornar valor

IPrintCoreHelperPS::CreateInstanceOfMSXMLObject deve retornar um dos seguintes valores.

Código de retorno Descrição
S_OK
Uma instância da classe de objeto especificada foi criada com êxito.
CLASS_E_NOAGGREGATION
A classe especificada não pode ser criada como parte de uma agregação.
E_NOINTERFACE
A classe especificada não implementa a interface solicitada ou a interface IUnknown controladora não expõe a interface solicitada.
REGDB_E_CLASSNOTREG
Uma classe especificada não está registrada no banco de dados de registro. Esse valor também pode indicar que o tipo de servidor solicitado no tipo de enumeração CLSCTX não está registrado ou os valores dos tipos de servidor no registro estão corrompidos.

Comentários

O plug-in não deve criar diretamente um objeto MSXML chamando CoCreateInstance (descrito na documentação do SDK do Windows). Em vez disso, ele deve chamar Pscript para fazer isso. O motivo é que, em determinadas condições em que o driver de impressora pode ser usado, como com versões mais antigas do sistema operacional, o sistema operacional não precisa registrar a versão necessária do MSXML, que atualmente é a versão 6. Nessas situações, a chamada de CoCreateInstance pode falhar. No entanto, o driver principal garante que, onde quer que o driver esteja presente, a DLL do analisador MSXML também esteja presente no computador, possibilitando a criação de um objeto MSXML quando necessário.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho prcomoem.h (inclua Prcomoem.h)