Share via


Metodo IPrintTicketProvider2::ConvertPrintTicketToDevMode (prdrvcom.h)

Il metodo IPrintTicketProvider2::ConvertPrintTicketToDevMode converte un ticket di stampa in una struttura DEVMODEW .

Sintassi

HRESULT ConvertPrintTicketToDevMode(
  [in]  IN IXMLDOMDocument2 *pPrintTicket,
  [in]  IN ULONG            cbDevmodeIn,
  [in]  IN PDEVMODE         pDevmodeIn,
  [out] OUT ULONG           *pcbDevmodeOut,
  [out] OUT PDEVMODE        *ppDevmodeOut
);

Parametri

[in] pPrintTicket

Puntatore al ticket di stampa di input. IPrintTicketProvider2::ConvertPrintTicketToDevMode converte le impostazioni nel ticket di stampa di input nei campi nella struttura DEVMODEW .

[in] cbDevmodeIn

Dimensioni, in byte, della struttura DEVMODEW di input. Questa dimensione include sia le sezioni pubbliche che private della struttura DEVMODEW .

[in] pDevmodeIn

Puntatore alla struttura DEVMODEW di input, che contiene le impostazioni predefinite. La struttura DEVMODEW può essere la struttura DEVMODEW predefinita della coda di stampa oppure può essere la struttura DEVMODEW predefinita dell'utente. Poiché questo parametro può rappresentare la struttura DEVMODEW predefinita dell'utente, il provider di plug-in OEM deve convalidare i dati in tale struttura. Una struttura DEVMODEW predefinita dell'utente potrebbe non essere valida per un driver specifico, ad esempio quando il driver della coda di stampa cambia o viene aggiornato.

[out] pcbDevmodeOut

Puntatore a una variabile contenente le dimensioni, in byte, della struttura DEVMODEW di output.

[out] ppDevmodeOut

Puntatore a una variabile contenente l'indirizzo della struttura DEVMODEW di output. Quando IPrintTicketProvider2::ConvertPrintTicketToDevMode viene restituito correttamente, i membri della struttura DEVMODEW di output verranno reimpostati per riflettere le impostazioni nel ticket di stampa. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

IPrintTicketProvider2::ConvertPrintTicketToDevMode deve restituire S_OK se l'operazione ha esito positivo. In caso contrario, questo metodo deve restituire un codice di errore COM standard.

Commenti

Il driver principale chiama il metodo IPrintTicketProvider2::ConvertPrintTicketToDevMode prima di eseguire la conversione di un ticket di stampa in una struttura DEVMODEW . Nella chiamata a questo metodo, il driver di base passa un ticket di stampa di input completamente popolato e una struttura DEVMODEW impostata su valori predefiniti. Nella conversione, il plug-in deve annullare le modifiche apportate al ticket di stampa durante la conversione precedente da una struttura DEVMODEW a un ticket di stampa. Se, durante questa conversione precedente, il plug-in ha spostato una funzionalità da uno spazio dei nomi privato allo spazio dei nomi pubblico, il plug-in deve ripristinare la funzionalità nello spazio dei nomi privato in un formato adatto al driver di base, ovvero al formato in cui il driver di base aveva precedentemente inserito la funzionalità nel ticket di stampa fornito al plug-in in IPrintOemPrintTicketProvider:: Metodo ConvertDevModeToPrintTicket . Questo ripristino è necessario in modo che il driver principale possa riconoscere una funzionalità nel ticket di stampa e riflettere le relative impostazioni nella parte privata della struttura DEVMODEW del driver principale mentre il driver di base esegue la sua parte della conversione del ticket di stampa per DEVMODEW .

Prima che il sistema converta nuovamente un ticket di stampa in una struttura DEVMODEW , viene prima caricato il valore predefinito DEVMODEW. Il sistema chiama quindi il metodo IPrintTicketProvider2::BindPrinter del provider. Questo metodo deve quindi leggere tutte le impostazioni supportate dal ticket di stampa e inserire tali impostazioni nella struttura DEVMODEW . Si noti che non tutte le funzionalità saranno necessariamente rappresentate e che spesso le istanze di Opzione presenti potrebbero non contenere tutte le istanze di proprietà con punteggio che il provider normalmente popola. Se il provider apporta modifiche alle impostazioni popolate dal sistema durante la conversione dal ticket di stampa a DEVMODEW, il provider deve eseguire il contrario di tale modifica in questo metodo. Dopo che il provider restituisce, il sistema sovrascrive le impostazioni DEVMODEW pubbliche rappresentate nel ticket di stampa, ma che non sono disabilitate in modo esplicito dal provider.

Requisiti

Requisito Valore
Intestazione prdrvcom.h (include Prdrvcom.h)

Vedi anche

IPrintTicketProvider2

IPrintTicketProvider2::ConvertDevModeToPrintTicket