Funzione PTMergeAndValidatePrintTicket (prntvpt.h)
Unisce due biglietti di stampa e restituisce un biglietto di stampa valido e valida.
Sintassi
HRESULT PTMergeAndValidatePrintTicket(
[in] HPTPROVIDER hProvider,
[in] IStream *pBaseTicket,
[in] IStream *pDeltaTicket,
[in] EPrintTicketScope scope,
IStream *pResultTicket,
[out] BSTR *pbstrErrorMessage
);
Parametri
[in] hProvider
Handle a un provider di ticket di stampa aperto. Questo handle viene restituito dalla funzione PTOpenProvider o PTOpenProviderEx.
[in] pBaseTicket
Puntatore a un biglietto di stampa. La posizione di ricerca del flusso deve essere all'inizio del contenuto del ticket di stampa.
[in] pDeltaTicket
Puntatore a un biglietto di stampa. La posizione di ricerca del flusso deve essere all'inizio del contenuto del ticket di stampa. È possibile passare NULL a questo parametro. Vedere la sezione Osservazioni.
[in] scope
Valore che specifica se l'ambito di pDeltaTicket e pResultTicket è una singola pagina, un intero documento o tutti i documenti nel processo di stampa. Vedere la sezione Osservazioni.
pResultTicket
Puntatore al flusso in cui verrà scritto il ticket unito. La posizione di ricerca sarà alla fine del biglietto di stampa. Vedere la sezione Osservazioni.
[out] pbstrErrorMessage
Puntatore a una stringa che specifica cosa, se qualcosa, non è valido per pBaseTicket o pDeltaTicket. Se entrambi sono validi, questo è NULL. I problemi di affidabilità non vengono segnalati in pbstrErrorMessage.
Valore restituito
Se l'operazione ha esito positivo senza conflitti tra le impostazioni del ticket unito e le funzionalità della stampante, HRESULT è S_PT_NO_CONFLICT.
Se l'operazione ha esito positivo, ma il ticket unito deve essere modificato in una o più impostazioni perché ha richiesto funzionalità che la stampante non supporta, HRESULT è S_PT_CONFLICT_RESOLVED. Vedere la sezione Osservazioni.
Se hProvider è stato aperto in un thread diverso, HRESULT è E_INVALIDARG.
Se pBaseTicket non è valido, HRESULT è E_PRINTTICKET_FORMAT.
Se pDeltaTicket non è valido, HRESULT è E_DELTA_PRINTTICKET_FORMAT.
In caso contrario, viene restituito un altro codice di errore in HRESULT. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori.
Commenti
Questa funzione viene convalidata in due modi: convalida prima entrambi i ticket di input in Print Schema Framework, segnalando errori in pbstrErrorMessage. Verifica quindi la redditività del ticket di stampa unito con il driver della stampante. Se la funzionalità del ticket unito richiede che la stampante non supporti, le impostazioni non valide vengono sostituite e il driver della stampante determina l'impostazione di sostituzione da usare. In genere, il driver della stampante usa l'impostazione predefinita del ticket di stampa dell'utente. Se il driver della stampante non usa lo stesso ticket di stampa che pBaseTicket punta all'origine per i valori sostitutivi, è possibile che pResultTicket differisca in alcune impostazioni da entrambi i biglietti di stampa di input.
In genere, pBaseTicket contiene un'ampia gamma di impostazioni di processo, documento e pagina. In genere l'utente predefinito o il ticket di stampa predefinito del dispositivo viene usato per pBaseTicket.
Se pDeltaTicket è NULL, il metodo convalida pBaseTicket, controlla la sua redditività e lo restituisce, eventualmente modificato, nel flusso a cui fa riferimento pResultTicket.
I valori di pDeltaTicket esterni all'ambito vengono ignorati. Ad esempio, se l'ambito è solo una singola pagina, le impostazioni a livello di processo e le impostazioni a livello di documento vengono ignorate. L'ambito del processo include l'ambito del documento e l'ambito della pagina. L'ambito del documento include l'ambito della pagina.
Le impostazioni esterne all'ambito non sono incluse nel pResultTicket.
Quando la funzione restituisce un valore, la posizione di ricerca di pResultTicket si trova alla fine del contenuto del ticket di stampa. Il chiamante è responsabile della reimpostazione della posizione di ricerca prima di leggere i dati.
Se pbstrErrorMessage non è NULL quando la funzione restituisce, il chiamante deve liberare la stringa con SysFreeString.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | prntvpt.h |
Libreria | Prntvpt.lib |
DLL | Prntvpt.dll |