Freigeben über


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 Eingabe DEVMODEW--Struktur in Byte. Diese Größe umfasst sowohl die öffentlichen als auch die privaten Abschnitte der DEVMODEW-Struktur.

[in, out] pDevmode

Ein Zeiger auf die DevMODEW-Eingabestruktur. 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.

Bemerkungen

Der Kerntreiber ruft die IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode auf, bevor der Teil der Konvertierung eines Drucktickets in eine DEVMODEW--Struktur ausgeführt wird. Im Aufruf dieser Methode übergibt der Kerntreiber ein Eingabedruckticket, das vollständig ausgefüllt ist, 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 an dem Druckticket vorgenommen hat. Wenn das Plug-In während dieser vorherigen Konvertierung ein Feature von einem privaten Namespace in den öffentlichen Namespace verschoben hat, muss das Plug-In das Feature in einem Format wiederherstellen, das für den Kerntreiber geeignet ist, d. h., das Format, in dem der Kerntreiber das Feature zuvor im Druckticket platziert hatte, das dem Plug-In im IPrintOemPrintTicketProvider bereitgestellt wurde: ConvertDevModeToPrintTicket Methode. Diese Wiederherstellung ist erforderlich, damit der Kerntreiber das Feature im Druckticket erkennen und seine Einstellungen in privatem Teil der DEVMODEW-Struktur des Kerntreibers widerspiegeln kann, während der Kerntreiber seinen Teil der Print-Ticket-zu-DEVMODEW-Konvertierung durchführt.

Bevor das System ein Druckticket in eine DEVMODEW--Struktur konvertiert, lädt es zuerst die Standardmäßige DEVMODEW-Struktur. Anschließend ruft das System die IPrintOemPrintTicketProvider::BindPrinter-Methode des Anbieters auf. Diese Methode sollte dann alle Vom Druckticket unterstützten Einstellungen lesen und diese Einstellungen in der DEVMODEW-Struktur auffüllen. Beachten Sie, dass nicht alle Features notwendigerweise dargestellt werden, und dass häufig optionsinstanzen, die vorhanden sind, möglicherweise nicht alle Instanzen der Scored-Eigenschaft enthalten, die der Anbieter normalerweise auffüllt. Wenn der Anbieter Änderungen an den Einstellungen vorgibt, die vom System während der Konvertierung von print ticket in DEVMODEW aufgefüllt werden, sollte der Anbieter die Umkehrung dieser Änderung im IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode-Methode ausführen. Nachdem der Anbieter zurückgegeben wurde, überschreibt das System dann alle öffentlichen DEVMODEW-Einstellungen, die im Druckticket dargestellt werden, jedoch nicht explizit vom Anbieter deaktiviert werden.

Anforderungen

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

Siehe auch

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket