Freigeben über


IPrintCoreHelper::CreateInstanceOfMSXMLObject-Methode (prcomoem.h)

Die IPrintCoreHelper::CreateInstanceOfMSXMLObject-Methode erstellt eine instance 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 (die steuernde IUnknown-Schnittstelle). 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 ausgeführt wird, der das neu erstellte Objekt verwaltet. Die einzigen gültigen Werte sind NULL und CLSCTX_INPROC_SERVER. Dabei handelt es sich um einen Wert der CLSCTX-Enumeration (beschrieben in der Microsoft Windows SDK-Dokumentation).

[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ückgibt, enthält *ppv die Adresse der angeforderten Schnittstelle. Wenn diese Methode fehlschlägt, enthält *ppvNULL.

Rückgabewert

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

Rückgabecode BESCHREIBUNG
S_OK
Eine instance 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 nicht die angeforderte Schnittstelle, oder die steuernde IUnknown-Schnittstelle macht die angeforderte Schnittstelle nicht verfügbar.
REGDB_E_CLASSNOTREG
Eine angegebene Klasse ist nicht in der Registrierungsdatenbank registriert. Dieser Wert kann auch angeben, dass der Servertyp, den Sie im CLSCTX-Enumerationstyp angefordert haben, nicht registriert ist oder dass die Werte für die Servertypen in der Registrierung beschädigt sind.

Hinweise

IPrintCoreHelper::CreateInstanceOfMSXMLObject ermöglicht einem Plug-In die sichere Verwendung von MSXML-Objekten, auch wenn es auf clientcomputern auf down-level (d. h. Clientcomputern mit Windows Server 2003, Windows XP oder Windows 2000) ausgeführt wird.

Die Parameter in dieser Methode werden direkt denen 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
Kopfzeile prcomoem.h (include Prcomoem.h)