PTConvertPrintTicketToDevMode-Funktion (prntvpt.h)
Konvertiert ein Druckticket in eine DEVMODE-Struktur .
Syntax
HRESULT PTConvertPrintTicketToDevMode(
[in] HPTPROVIDER hProvider,
[in] IStream *pPrintTicket,
EDefaultDevmodeType baseDevmodeType,
[in] EPrintTicketScope scope,
[out] ULONG *pcbDevmode,
[out] PDEVMODE *ppDevmode,
[out] BSTR *pbstrErrorMessage
);
Parameter
[in] hProvider
Ein Handle für einen geöffneten Druckticketanbieter. Dieses Handle wird vom PTOpenProvider oder der PTOpenProviderEx-Funktion zurückgegeben.
[in] pPrintTicket
Ein Zeiger auf einen IStream mit seiner Suchposition am Anfang des Drucktickets.
baseDevmodeType
Ein -Wert, der angibt, ob der Standard-DEVMODE des Benutzers oder der Standard-DEVMODE der Druckwarteschlange verwendet wird, um Werte für die DEVMODE-Ausgabe bereitzustellen, wenn pPrintTicket nicht alle möglichen Einstellungen für eine DEVMODE-Klasse angibt.
[in] scope
Ein -Wert, der den Bereich von pPrintTicket angibt. Dieser Wert kann eine einzelne Seite, ein gesamtes Dokument oder alle Dokumente im Druckauftrag angeben. Einstellungen in pPrintTicket , die sich außerhalb des angegebenen Bereichs befinden, werden ignoriert. Siehe Hinweise.
[out] pcbDevmode
Ein Zeiger auf die Größe des DEVMODE in Bytes.
[out] ppDevmode
Ein Zeiger auf den neu erstellten DEVMODE.
[out] pbstrErrorMessage
Ein Zeiger auf eine Zeichenfolge, die angibt, was bei pPrintTicket ungültig ist. Wenn es gültig ist, ist dies NULL.
Rückgabewert
Wenn der Vorgang erfolgreich ist, wird der Rückgabewert S_OK.
Wenn hProvider in einem anderen Thread geöffnet wurde, wird HRESULT E_INVALIDARG.
Wenn pPrintTicket ungültig ist, wird das HRESULT E_PRINTTICKET_FORMAT.
Andernfalls wird ein anderer Fehlercode im HRESULT zurückgegeben. Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.
Hinweise
Wenn baseDevmodeType kUserDefaultDevmode ist, der Standardwert des Benutzers jedoch nicht verfügbar ist, wird die Standardeinstellung des Geräts verwendet.
Der zurückgegebene DEVMODE-Modus kann intern inkonsistent sein oder in Konflikt mit harten Druckereinstellungen stehen, obwohl jede Einstellung darin einzeln praktikabel ist. Wenn der Drucker z. B. einen optionalen Duplexer unterstützt, aber das pPrintTicket die Duplexierung aufruft, ruft die zurückgegebene DEVMODE auch zur Duplexierung auf, selbst wenn der Duplexer nicht installiert ist. Verwenden Sie DocumentProperties , um die zurückgegebene DEVMODE-Datei zu korrigieren.
Der Puffer im zurückgegebenen ppDevmode sollte mit PTReleaseMemory freigegeben werden.
Werte von pPrintTicket , die sich außerhalb des Bereichs befinden, werden ignoriert. Wenn der Bereich beispielsweise nur eine einzelne Seite ist, werden auftragsweite Einstellungen und dokumentweite Einstellungen ignoriert. Der Auftragsbereich umfasst den Dokument- und Seitenbereich. Der Dokumentbereich umfasst den Seitenbereich.
Wenn pbstrErrorMessage nicht NULL ist, wenn die Funktion zurückgibt, muss der Aufrufer die Zeichenfolge mit SysFreeString freigeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | prntvpt.h |
Bibliothek | Prntvpt.lib |
DLL | Prntvpt.dll |