Freigeben über


IPrintCoreHelper::CreateInstanceOfMSXMLObject-Methode (prcomoem.h)

Die IPrintCoreHelper::CreateInstanceOfMSXMLObject-Methode erstellt eine Instanz eines MSXML 6.0-Objekts mithilfe der richtigen MSXML-DLL.

Syntax

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

Parameter

[in] rclsid

Die CLSID, die den Daten und dem Code zugeordnet ist, die zum Erstellen des Objekts verwendet werden.

[in] pUnkOuter

Ein Zeiger auf die IUnknown Schnittstelle des Aggregatobjekts (das Steuern IUnknown). Dieser Parameter muss NULL-sein, was bedeutet, dass das Objekt nicht als Teil eines Aggregats erstellt wird.

[in] dwClsContext

Der Kontext, in dem der Code, der das neu erstellte Objekt verwaltet, ausgeführt wird. Die einzigen gültigen Werte sind NULL- und CLSCTX_INPROC_SERVER, bei dem es sich um einen Wert der CLSCTX-Enumeration handelt (in der Microsoft Windows SDK-Dokumentation beschrieben).

[in] riid

Ein Verweis auf den Bezeichner der Schnittstelle, die für die Kommunikation mit dem Objekt verwendet wird.

[out] ppv

Ein Zeiger auf eine Variable, die die Adresse der Schnittstelle empfängt, die im riid Parameter angefordert wird. Wenn IPrintCoreHelper::CreateInstanceOfMSXMLObject erfolgreich zurückgegeben wird, enthält *ppv- die Adresse der angeforderten Schnittstelle. Wenn diese Methode fehlschlägt, enthält *ppv-NULL-.

Rückgabewert

IPrintCoreHelper::CreateInstanceOfMSXMLObject sollte einen der folgenden Werte zurückgeben.

Rückgabecode Beschreibung
S_OK
Eine Instanz der angegebenen Objektklasse wurde erfolgreich erstellt.
CLASS_E_NOAGGREGATION
Die angegebene Klasse kann nicht als Teil eines Aggregats erstellt werden.
E_NOINTERFACE
Die angegebene Klasse implementiert die angeforderte Schnittstelle nicht, oder die steuerungsbasierte IUnknown Schnittstelle macht die angeforderte Schnittstelle nicht verfügbar.
REGDB_E_CLASSNOTREG
Eine angegebene Klasse ist in der Registrierungsdatenbank nicht registriert. Dieser Wert kann auch angeben, dass der Servertyp, den Sie im CLSCTX-Enumerationstyp angefordert haben, nicht registriert ist oder die Werte für die Servertypen in der Registrierung beschädigt sind.

Bemerkungen

IPrintCoreHelper::CreateInstanceOfMSXMLObject ermöglicht es einem Plug-In, MSXML-Objekte sicher zu verwenden, auch wenn es auf Clientcomputern auf down-Level ausgeführt wird (d. h. Clientcomputer, die Windows Server 2003, Windows XP oder Windows 2000 ausführen).

Die Parameter in dieser Methode werden direkt den Parametern der CoCreateInstance-Funktion zugeordnet (die in der Windows SDK-Dokumentation beschrieben wird). Beachten Sie, dass die Installation eines Windows Vista-Treibers auf einem Computer, auf dem eine frühere Version von Windows ausgeführt wird, nicht dazu führt, dass MSXML 6.0 installiert wird. Die tatsächliche DLL ist in den treiberabhängigen DLLs enthalten und wird aus dem Treiberverzeichnis geladen. Sie ist nicht im System registriert. Plug-Ins, die diese Methode verwenden, sollten nur MSXML-Objekte erstellen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- prcomoem.h (einschließlich Prcomoem.h)