IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode (prcomoem.h)

Die IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode konvertiert ein Druckticket in eine DEVMODEW-Struktur .

Syntax

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Parameter

[in] pPrintTicket

Ein Zeiger auf das Eingabedruckticket.

[in] cbDevmode

Die Größe der DEVMODEW-Eingabestruktur in Byte. Diese Größe umfasst sowohl den öffentlichen als auch den privaten Abschnitt der DEVMODEW-Struktur.

[in, out] pDevmode

Ein Zeiger auf die DEVMODEW-Struktur der Eingabe. Wenn IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode zurückgegeben wird, enthält die private DEVMODEW-Struktur des Plug-Ins Informationen, die aus dem Druckticket abgerufen wurden.

[in] cbDrvPrivateSize

Die Größe der privaten DEVMODEW-Struktur des Plug-Ins in Bytes.

[in] pPrivateDevmode

Ein Zeiger auf die private DEVMODEW-Struktur des Plug-Ins.

Rückgabewert

IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode sollte S_OK zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls sollte diese Methode einen standardmäßigen COM-Fehlercode zurückgeben.

Hinweise

Der Kerntreiber ruft die IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode auf, bevor er seinen Teil der Konvertierung eines Drucktickets in eine DEVMODEW-Struktur ausführt. Im Aufruf dieser Methode übergibt der Kerntreiber ein vollständig ausgefülltes Eingabedruckticket und eine DEVMODEW-Struktur, die auf Standardwerte festgelegt ist. Bei der Konvertierung muss das Plug-In alle Änderungen rückgängig machen, die es während der vorherigen Konvertierung von einer DEVMODEW-Struktur in ein Druckticket vorgenommen hat. Wenn das Plug-In während dieser vorherigen Konvertierung ein Feature aus einem privaten Namespace in den öffentlichen Namespace verschoben hat, muss das Plug-In das Feature in den privaten Namespace in einem Format wiederherstellen, das für den Kerntreiber geeignet ist, d. h. das Format, in dem der Kerntreiber die Funktion zuvor im Druckticket platziert hatte, das für das Plug-In im IPrintOemPrintTicketProvider bereitgestellt wurde: ConvertDevModeToPrintTicket-Methode . Diese Wiederherstellung ist erforderlich, damit der Kerntreiber das Feature im Druckticket erkennen und seine Einstellungen im privaten Teil der DEVMODEW-Struktur des Kerntreibers widerspiegeln kann, während der Kerntreiber seinen Teil der Konvertierung von Tickets in DEVMODEW ausführt.

Bevor das System ein Druckticket wieder in eine DEVMODEW-Struktur konvertiert, lädt es zunächst die DEVMODEW-Standardstruktur. Das System ruft dann die IPrintOemPrintTicketProvider::BindPrinter-Methode des Anbieters auf. Diese Methode sollte dann alle unterstützten Einstellungen aus dem Druckticket lesen und diese Einstellungen in der DEVMODEW-Struktur auffüllen. Beachten Sie, dass nicht alle Features notwendigerweise dargestellt werden, und dass häufig vorhandene Optionsinstanzen möglicherweise nicht alle Instanzen der bewerteten Eigenschaft enthalten, die der Anbieter normalerweise auffüllt. Wenn der Anbieter Änderungen an den Einstellungen vornimmt, die vom System während der Konvertierung vom Druckticket in DEVMODEW aufgefüllt werden, sollte der Anbieter die Umgekehrtkeit dieser Änderung in der IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode ausführen. Nach der Rückgabe des Anbieters überschreibt das System alle öffentlichen DEVMODEW-Einstellungen, die im Druckticket dargestellt, aber vom Anbieter nicht explizit deaktiviert werden.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile prcomoem.h (include Prcomoem.h)

Weitere Informationen

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket