PTMergeAndValidatePrintTicket-Funktion (prntvpt.h)
Führt zwei Drucktickets zusammen und gibt ein gültiges, funktionsfähiges Druckticket zurück.
Syntax
HRESULT PTMergeAndValidatePrintTicket(
[in] HPTPROVIDER hProvider,
[in] IStream *pBaseTicket,
[in] IStream *pDeltaTicket,
[in] EPrintTicketScope scope,
IStream *pResultTicket,
[out] BSTR *pbstrErrorMessage
);
Parameter
[in] hProvider
Ein Handle für einen offenen Druckticketanbieter. Dieses Handle wird vom PTOpenProvider oder der PTOpenProviderEx-Funktion zurückgegeben.
[in] pBaseTicket
Ein Zeiger auf ein Druckticket. Die Suchposition des Streams muss sich am Anfang des Druckticketinhalts befinden.
[in] pDeltaTicket
Ein Zeiger auf ein Druckticket. Die Suchposition des Streams muss sich am Anfang des Druckticketinhalts befinden. NULL kann an diesen Parameter übergeben werden. Siehe Hinweise.
[in] scope
Ein Wert, der angibt, ob der Bereich von pDeltaTicket und pResultTicket eine einzelne Seite, ein gesamtes Dokument oder alle Dokumente im Druckauftrag ist. Siehe Hinweise.
pResultTicket
Ein Zeiger auf den Stream, in dem das funktionsfähige, zusammengeführte Ticket geschrieben wird. Die Suchposition befindet sich am Ende des Gedruckten Tickets. Siehe Hinweise.
[out] pbstrErrorMessage
Ein Zeiger auf eine Zeichenfolge, die angibt, was, falls überhaupt, für pBaseTicket oder pDeltaTicket ungültig ist. Wenn beide gültig sind, ist dies NULL. Lebensfähigkeitsprobleme werden in pbstrErrorMessage nicht gemeldet.
Rückgabewert
Wenn der Vorgang ohne Konflikt zwischen den Einstellungen des zusammengeführten Tickets und den Funktionen des Druckers erfolgreich ist, wird das HRESULT S_PT_NO_CONFLICT.
Wenn der Vorgang erfolgreich ist, aber das zusammengeführte Ticket in mindestens einer Einstellung geändert werden musste, da funktionen angefordert wurden, die der Drucker nicht unterstützt, wird das HRESULT S_PT_CONFLICT_RESOLVED. Siehe Hinweise.
Wenn hProvider in einem anderen Thread geöffnet wurde, wird das HRESULT E_INVALIDARG.
Wenn pBaseTicket ungültig ist, wird das HRESULT E_PRINTTICKET_FORMAT.
Wenn pDeltaTicket ungültig ist, wird das HRESULT E_DELTA_PRINTTICKET_FORMAT.
Andernfalls wird im HRESULT ein anderer Fehlercode zurückgegeben. Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung.
Hinweise
Diese Funktion überprüft auf zwei Arten: Sie überprüft zunächst beide Eingabetickets für das Print Schema Framework und meldet Fehler in pbstrErrorMessage. Anschließend wird die Funktionsfähigkeit des zusammengeführten Drucktickets mit dem Druckertreiber überprüft. Wenn das zusammengeführte Ticket Funktionen anfordert, die der Drucker nicht unterstützt, werden die nicht anwendbaren Einstellungen ersetzt, und der Druckertreiber bestimmt, welche Ersatzeinstellung verwendet werden soll. In der Regel verwendet der Druckertreiber die Standardeinstellung für das Druckticket des Benutzers. Wenn der Druckertreiber nicht dasselbe Druckticket verwendet, auf das pBaseTicket als Quelle für Ersatzwerte verweist, ist es möglich, dass pResultTicket in einigen Einstellungen von beiden Eingabedrucktickets unterscheidet.
In der Regel enthält pBaseTicket einen vollständigen Bereich von Auftrags-, Dokument- und Seiteneinstellungen. Normalerweise wird für pBaseTicket der Benutzerstandard oder das Standarddruckticket des Geräts verwendet.
Wenn pDeltaTicketNULL ist, überprüft die Methode pBaseTicket, überprüft seine Tragfähigkeit und gibt es zurück, möglicherweise geändert, im Stream, auf den von pResultTicket verwiesen wird.
Werte von pDeltaTicket , 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 Dokument- und Seitenbereich. Dokumentbereich umfasst Seitenbereich.
Einstellungen, die sich außerhalb des Bereichs befinden, sind nicht im pResultTicket enthalten.
Wenn die Funktion einen Wert zurückgibt, befindet sich die Suchposition von pResultTicket am Ende des Druckticketinhalts. Der Aufrufer ist dafür verantwortlich, die Suchposition vor dem Lesen der Daten zurückzusetzen.
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 |