Metodo IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode (prcomoem.h)

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

Sintassi

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Parametri

[in] pPrintTicket

Puntatore al ticket di stampa di input.

[in] cbDevmode

Dimensione, in byte, della struttura DEVMODEW di input. Queste dimensioni includono sia le sezioni pubbliche che private della struttura DEVMODEW.

[in, out] pDevmode

Puntatore alla struttura DEVMODEW di input. Quando restituisce IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode , la struttura DEVMODEW privata del plug-in conterrà le informazioni ottenute dal ticket di stampa.

[in] cbDrvPrivateSize

Dimensioni, in byte, della struttura DEVMODEW privata del plug-in.

[in] pPrivateDevmode

Puntatore alla struttura DEVMODEW privata del plug-in.

Valore restituito

IPrintOemPrintTicketProvider::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 IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode prima di eseguire la conversione di un ticket di stampa in una struttura DEVMODEW . Nella chiamata a questo metodo, il driver principale passa un ticket di stampa di input completamente popolato e una struttura DEVMODEW impostata sui 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 per il driver principale, ovvero il formato in cui il driver principale aveva precedentemente inserito la funzionalità nel ticket di stampa fornito al plug-in IPrintOemPrintTicketProvider:: Metodo ConvertDevModeToPrintTicket . Questo ripristino è necessario in modo che il driver principale possa riconoscere la funzionalità nel ticket di stampa e riflettere le impostazioni nella parte privata della struttura DEVMODEW del driver principale mentre il driver principale esegue la sua parte della conversione da ticket di stampa a DEVMODEW .

Prima che il sistema converta nuovamente un ticket di stampa in una struttura DEVMODEW , carica prima la struttura DEVMODEW predefinita. Il sistema chiama quindi il metodo IPrintOemPrintTicketProvider::BindPrinter del provider. Questo metodo deve quindi leggere tutte le impostazioni supportate dal ticket di stampa e popolare tali impostazioni nella struttura DEVMODEW. Si noti che non tutte le funzionalità saranno necessariamente rappresentate e che spesso le istanze option presenti potrebbero non contenere tutte le istanze della proprietà con punteggio che il provider popola normalmente. Se il provider apporta modifiche alle impostazioni popolate dal sistema durante la conversione dal ticket di stampa a DEVMODEW, il provider deve eseguire la modifica inversa nel metodo IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode . Al termine della restituzione del provider, il sistema sovrascrive tutte le impostazioni DEVMODEW pubbliche rappresentate nel ticket di stampa, ma che non sono disabilitate in modo esplicito dal provider.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione prcomoem.h (include Prcomoem.h)

Vedi anche

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket