Share via


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

La méthode IPrintCoreHelperPS ::CreateInstanceOfMSXMLObject crée un instance d’un objet MSXML.

Syntaxe

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

Paramètres

[in] rclsid

CLSID associé aux données et au code qui seront utilisés pour créer l’objet.

[in] pUnkOuter

Pointeur vers l’interface IUnknown de l’objet d’agrégation ( IUnknown de contrôle). Ce paramètre doit être NULL, ce qui signifie que l’objet n’est pas créé dans le cadre d’un agrégat.

[in] dwClsContext

Contexte dans lequel le code qui gère l’objet nouvellement créé s’exécutera. Les seules valeurs valides sont NULL et CLSCTX_INPROC_SERVER, qui est une valeur de l’énumération CLSCTX (décrite dans la documentation Microsoft Windows SDK).

[in] riid

Référence à l’identificateur de l’interface qui sera utilisée pour communiquer avec l’objet.

[out] ppv

Pointeur vers une adresse mémoire qui reçoit l’adresse de l’interface demandée dans le paramètre riid . Si IPrintCoreHelperPS ::CreateInstanceOfMSXMLObject retourne correctement, *ppv contient l’adresse de l’interface demandée. Si cette méthode échoue, *ppv contient NULL.

Valeur retournée

IPrintCoreHelperPS ::CreateInstanceOfMSXMLObject doit retourner l’une des valeurs suivantes.

Code de retour Description
S_OK
Une instance de la classe d’objets spécifiée a été créée avec succès.
CLASS_E_NOAGGREGATION
La classe spécifiée ne peut pas être créée dans le cadre d’un agrégat.
E_NOINTERFACE
La classe spécifiée n’implémente pas l’interface demandée, ou l’interface IUnknown de contrôle n’expose pas l’interface demandée.
REGDB_E_CLASSNOTREG
Une classe spécifiée n’est pas inscrite dans la base de données d’inscription. Cette valeur peut également indiquer que le type de serveur que vous avez demandé dans le type d’énumération CLSCTX n’est pas inscrit ou que les valeurs des types de serveur dans le Registre sont endommagées.

Remarques

Le plug-in ne doit pas créer directement un objet MSXML en appelant CoCreateInstance (décrit dans la documentation du Kit de développement logiciel (SDK) Windows. Au lieu de cela, il doit appeler Pscript pour ce faire. La raison en est que dans certaines conditions dans lesquelles le pilote d’imprimante peut être utilisé, comme avec des versions antérieures du système d’exploitation, le système d’exploitation n’a pas besoin d’inscrire la version requise de MSXML, qui est actuellement la version 6. Dans de telles situations, l’appel de CoCreateInstance peut échouer. Toutefois, le pilote principal garantit que partout où le pilote est présent, la DLL de l’analyseur MSXML est également présente sur l’ordinateur, ce qui permet de créer un objet MSXML si nécessaire.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête prcomoem.h (inclure Prcomoem.h)