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 |
---|---|
|
Uma instância da classe de objeto especificada foi criada com êxito. |
|
A classe especificada não pode ser criada como parte de uma agregação. |
|
A classe especificada não implementa a interface solicitada ou a interface IUnknown controladora não expõe a interface solicitada. |
|
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) |