Funzione PTConvertPrintTicketToDevMode (prntvpt.h)
Converte un ticket di stampa in una struttura DEVMODE .
Sintassi
HRESULT PTConvertPrintTicketToDevMode(
[in] HPTPROVIDER hProvider,
[in] IStream *pPrintTicket,
EDefaultDevmodeType baseDevmodeType,
[in] EPrintTicketScope scope,
[out] ULONG *pcbDevmode,
[out] PDEVMODE *ppDevmode,
[out] BSTR *pbstrErrorMessage
);
Parametri
[in] hProvider
Handle per un provider di ticket di stampa aperto. Questo handle viene restituito dalla funzione PTOpenProvider o PTOpenProviderEx .
[in] pPrintTicket
Puntatore a un IStream con la relativa posizione di ricerca all'inizio del ticket di stampa.
baseDevmodeType
Valore che indica se l'impostazione DEVMODE predefinita dell'utente o la coda di stampa devMODE predefinita viene usata per fornire valori all'output DEVMODE quando pPrintTicket non specifica tutte le possibili impostazioni per devMODE.
[in] scope
Valore che specifica l'ambito di pPrintTicket. Questo valore può specificare una singola pagina, un intero documento o tutti i documenti nel processo di stampa. Le impostazioni in pPrintTicket esterne all'ambito specificato vengono ignorate. Vedere la sezione Osservazioni.
[out] pcbDevmode
Puntatore alle dimensioni di DEVMODE in byte.
[out] ppDevmode
Puntatore all'oggetto DEVMODE appena creato.
[out] pbstrErrorMessage
Puntatore a una stringa che specifica cosa, se qualcosa, non è valido su pPrintTicket. Se è valido, questo valore è NULL.
Valore restituito
Se l'operazione ha esito positivo, il valore restituito viene S_OK.
Se hProvider è stato aperto in un thread diverso, HRESULT viene E_INVALIDARG.
Se pPrintTicket non è valido, HRESULT è E_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
Se baseDevmodeType è kUserDefaultDevmode, ma il valore predefinito dell'utente non è disponibile, verrà usato il valore predefinito del dispositivo.
DevMODE restituito può essere internamente incoerente o in conflitto con le impostazioni della stampante hard, anche se ogni impostazione all'interno è valida singolarmente. Ad esempio, se la stampante supporta un duplex facoltativo ma pPrintTicket chiama per il duplex, devMODE restituito chiamerà anche per il duplex, anche se il duplex non è installato. Utilizzare DocumentProperties per correggere l'oggetto DEVMODE restituito.
Il buffer nel ppDevmode restituito deve essere rilasciato con PTReleaseMemory.
I valori di pPrintTicket 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.
Se pbstrErrorMessage non è NULL quando la funzione viene restituita, 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 |