Metodo IPrint::P rint (docobj.h)
Stampa un oggetto sulla stampante specificata utilizzando i requisiti di processo specificati.
Sintassi
HRESULT Print(
[in] DWORD grfFlags,
[in, out] DVTARGETDEVICE **pptd,
[in, out] PAGESET **ppPageSet,
[in, out] STGMEDIUM *pstgmOptions,
[in] IContinueCallback *pcallback,
[in] LONG nFirstPage,
[out] LONG *pcPagesPrinted,
[out] LONG *pnLastPage
);
Parametri
[in] grfFlags
Campo di bit che specifica le opzioni di stampa dell'enumerazione PRINTFLAG .
PRINTFLAG_MAYBOTHERUSER (1)
PRINTFLAG_PROMPTUSER (2)
PRINTFLAG_USERMAYCHANGEPRINTER (4)
PRINTFLAG_RECOMPOSETODEVICE (8)
PRINTFLAG_DONTACTUALLYPRINT (16)
PRINTFLAG_FORCEPROPERTIES (32)
PRINTFLAG_PRINTTOFILE (64)
[in, out] pptd
Puntatore a una struttura DVTARGETDEVICE che descrive il dispositivo di stampa di destinazione.
[in, out] ppPageSet
Puntatore a una variabile puntatore PAGESET che riceve un puntatore alla struttura che indica quali pagine devono essere stampate.
[in, out] pstgmOptions
Puntatore alle opzioni di stampa specifiche dell'oggetto in un set di proprietà OLE serializzato. Questo parametro può essere NULL nell'input o nella restituzione.
[in] pcallback
Puntatore all'interfaccia IContinueCallback nel sito di visualizzazione, che deve essere sottoposto periodicamente a polling a velocità di risposta umana per determinare se la stampa deve essere abbandonata. Questo parametro può essere NULL.
[in] nFirstPage
Numero di pagina della prima pagina da stampare. Questo valore sostituisce qualsiasi valore passato in precedenza a IPrint::SetInitialPageNum.
[out] pcPagesPrinted
Puntatore a una variabile che riceve il numero effettivo di pagine stampate correttamente.
[out] pnLastPage
Puntatore a una variabile che riceve il numero di pagina dell'ultima pagina stampata.
Valore restituito
Questo metodo può restituire il valore restituito standard E_UNEXPECTED, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
Il processo di stampa è stato annullato prima del completamento. *pcPagesPrinted indica il numero di pagine effettivamente stampate correttamente prima che si sia verificato questo errore. |
|
Una pagina specificata in **ppPageSet o nFirstPage non esiste. |
Commenti
La stampante su cui stampare l'oggetto è indicata dalla struttura DVTARGETDEVICE a cui punta il pptd. La struttura DEVMODE nel dispositivo di destinazione indica opzioni specifiche dell'intero processo, ad esempio il numero di copie, le dimensioni della carta e la qualità di stampa. La struttura DEVMODE può contenere anche informazioni sull'orientamento nel membro dmOrientation (indicato nel membro dmFields ). Se presente, l'orientamento della carta deve essere utilizzato; se assente, l'orientamento naturale determinato dal contenuto dell'oggetto deve essere utilizzato.
A causa della possibilità di input dell'utente, i parametri pptd e ppPageSet sono entrambe strutture [in,out]. In assenza di interazione dell'utente (ovvero se il flag di PRINTFLAG_PROMPTUSER non è impostato), sia il dispositivo di destinazione che il set di pagine saranno necessariamente uguali per l'input e l'output. Tuttavia, se all'utente vengono richieste le opzioni di stampa, l'oggetto restituisce le informazioni sul dispositivo di destinazione e sul set di pagine appropriato a ciò che l'utente ha effettivamente scelto.
Il parametro pstgmOptions è anche [in,out]. All'uscita, l'oggetto deve scrivere in *pstgmOptions qualsiasi informazione specifica dell'oggetto che sarebbe necessario riprodurre questo processo di stampa esatto. Alcuni esempi possono includere se l'utente ha selezionato "foglio, note o entrambi" in un'applicazione foglio di calcolo. I dati passati sono nel formato di un set di proprietà serializzato. I dati sono in genere utili solo quando vengono passati di nuovo in una chiamata successiva allo stesso oggetto. Poiché una chiamata successiva può specificare flag di interazione utente diversi, dispositivo di destinazione o altre impostazioni, il chiamante può fare in modo che il documento venga stampato più volte nello stesso modo in contesti di stampa leggermente diversi.
Requisiti
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | docobj.h |