Freigeben über


IPrintCoreHelperPS::CreateInstanceOfMSXMLObject-Methode (prcomoem.h)

Die IPrintCoreHelperPS::CreateInstanceOfMSXMLObject-Methode erstellt eine Instanz eines MSXML-Objekts.

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 Speicheradresse, die die Adresse der Schnittstelle empfängt, die im riid Parameter angefordert wird. Wenn IPrintCoreHelperPS::CreateInstanceOfMSXMLObject erfolgreich zurückgegeben wird, enthält *ppv- die Adresse der angeforderten Schnittstelle. Wenn diese Methode fehlschlägt, enthält *ppv-NULL-.

Rückgabewert

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

Das Plug-In sollte kein MSXML-Objekt direkt erstellen, indem CoCreateInstance aufgerufen wird (in der Windows SDK-Dokumentation beschrieben). Stattdessen sollte Pscript aufgerufen werden. Der Grund dafür ist, dass das Betriebssystem unter bestimmten Bedingungen, unter denen der Druckertreiber verwendet werden kann, z. B. bei älteren Betriebssystemversionen, nicht die erforderliche Version von MSXML registrieren muss, die derzeit Version 6 ist. In solchen Situationen kann das Aufrufen von CoCreateInstance fehlschlagen. Der Kerntreiber stellt jedoch sicher, dass die MSXML-Parser-DLL auch auf dem Computer vorhanden ist, sodass bei Bedarf ein MSXML-Objekt erstellt werden kann.

Anforderungen

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