Freigeben über


IPrintCoreHelperPS::CreateInstanceOfMSXMLObject-Methode (prcomoem.h)

Die IPrintCoreHelperPS::CreateInstanceOfMSXMLObject-Methode erstellt eine instance 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 steuernde 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 ausgeführt wird, der das neu erstellte Objekt verwaltet. Die einzigen gültigen Werte sind NULL und CLSCTX_INPROC_SERVER, ein Wert der CLSCTX-Enumeration (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 *ppvNULL.

Rückgabewert

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

Rückgabecode BESCHREIBUNG
S_OK
Ein 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 die angeforderte Schnittstelle nicht, 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

Das Plug-In sollte nicht direkt ein MSXML-Objekt erstellen, indem CoCreateInstance aufgerufen wird (in der Dokumentation zum Windows SDK beschrieben). Stattdessen sollte Pscript aufgerufen werden, um dies zu tun. Der Grund 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 überall, wo der Treiber vorhanden ist, die MSXML-Parser-DLL auch auf dem Computer vorhanden ist, sodass bei Bedarf ein MSXML-Objekt erstellt werden kann.

Anforderungen

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