Partager via


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

La méthode IPrintCoreHelper ::CreateInstanceOfMSXMLObject crée un instance d’un objet MSXML 6.0 à l’aide de la DLL MSXML correcte.

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 variable qui reçoit l’adresse de l’interface demandée dans le paramètre riid . Si IPrintCoreHelper ::CreateInstanceOfMSXMLObject retourne correctement, *ppv contient l’adresse de l’interface demandée. Si cette méthode échoue, *ppv contient NULL.

Valeur retournée

IPrintCoreHelper ::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

IPrintCoreHelper ::CreateInstanceOfMSXMLObject permet à un plug-in d’utiliser des objets MSXML en toute sécurité, même lorsqu’il s’exécute sur des machines clientes de niveau inférieur (c’est-à-dire des machines clientes qui exécutent Windows Server 2003, Windows XP ou Windows 2000).

Les paramètres de cette méthode sont mappés directement à ceux de la fonction CoCreateInstance (qui est décrite dans la documentation du Kit de développement logiciel (SDK) Windows. Notez que l’installation d’un pilote Windows Vista sur un ordinateur qui exécute une version précédente de Windows n’entraîne pas l’installation de MSXML 6.0. La DLL réelle est incluse avec les DLL dépendantes du pilote et est chargée à partir du répertoire du pilote. Il n’est pas inscrit sur le système. Les plug-ins qui utilisent cette méthode doivent créer uniquement des objets MSXML.

Configuration requise

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