IPrintTicketProvider::ConvertPrintTicketToDevMode-Methode (prdrvcom.h)
Die IPrintTicketProvider::ConvertPrintTicketToDevMode-Methode konvertiert ein Druckticket in eine DEVMODEW-Struktur .
Syntax
HRESULT ConvertPrintTicketToDevMode(
[in] IN IXMLDOMDocument2 *pPrintTicket,
[in] IN ULONG cbDevmodeIn,
[in] IN PDEVMODE pDevmodeIn,
[out] OUT ULONG *pcbDevmodeOut,
[out] OUT PDEVMODE *ppDevmodeOut
);
Parameter
[in] pPrintTicket
Ein Zeiger auf das Eingabedruckticket. IPrintTicketProvider::ConvertPrintTicketToDevMode konvertiert die Einstellungen im Eingabedruckticket in Felder in der DEVMODEW-Struktur .
[in] cbDevmodeIn
Die Größe der DEVMODEW-Eingabestruktur in Bytes. Diese Größe umfasst sowohl den öffentlichen als auch den privaten Abschnitt der DEVMODEW-Struktur .
[in] pDevmodeIn
Ein Zeiger auf die DEVMODEW-Eingabestruktur , die Standardeinstellungen enthält. Die DEVMODEW-Struktur kann die DEVMODEW-Standardstruktur der Druckwarteschlange oder die DEVMODEW-Standardstruktur des Benutzers sein. Da dieser Parameter die DEVMODEW-Standardstruktur des Benutzers darstellen kann, muss der OEM-Plug-In-Anbieter die Daten in dieser Struktur überprüfen. Eine DEVMODEW-Standardstruktur eines Benutzers ist möglicherweise nicht für einen bestimmten Treiber gültig, z. B. wenn sich der Treiber der Druckwarteschlange ändert oder aktualisiert wird.
[out] pcbDevmodeOut
Ein Zeiger auf eine Variable, die die Größe der DEVMODEW-Ausgabestruktur in Bytes enthält.
[out] ppDevmodeOut
Ein Zeiger auf eine Variable, die die Adresse der DEVMODEW-Ausgabestruktur enthält. Wenn IPrintTicketProvider::ConvertPrintTicketToDevMode erfolgreich zurückgegeben wird, werden die Member der DEVMODEW-Ausgabestruktur zurückgesetzt, um die Einstellungen im Druckticket widerzuspiegeln. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Rückgabewert
IPrintTicketProvider::ConvertPrintTicketToDevMode sollte S_OK zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls sollte diese Methode einen COM-Standardfehlercode zurückgeben.
Hinweise
Der Kerntreiber ruft die IPrintTicketProvider::ConvertPrintTicketToDevMode-Methode auf, bevor er seinen Teil der Konvertierung eines Drucktickets in eine DEVMODEW-Struktur ausführt. Beim 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 am 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 im privaten Namespace in einem Format wiederherstellen, das für den Kerntreiber geeignet ist, d. h. in 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 ein 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 des Drucktickets in DEVMODEW ausführt.
Bevor das System ein Druckticket zurück in eine DEVMODEW-Struktur konvertiert, lädt es zuerst die DEVMODEW-Standardversion. Anschließend ruft das System die IPrintTicketProvider::BindPrinter-Methode des Anbieters auf. Diese Methode sollte dann alle unterstützten Einstellungen aus dem Druckticket lesen und diese Einstellungen in der DEVMODEW-Struktur platzieren. Beachten Sie, dass nicht unbedingt alle Features 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 wurden, sollte der Anbieter die Umgekehrtkeit dieser Änderung in dieser Methode ausführen. Nachdem der Anbieter zurückgegeben hat, überschreibt das System dann alle öffentlichen DEVMODEW-Einstellungen , die im Druckticket dargestellt, aber nicht explizit vom Anbieter deaktiviert werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | prdrvcom.h (einschließlich Prdrvcom.h) |