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
S_OK
Metodo completato correttamente.
PRINT_E_CANCELED
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.
PRINT_E_NOSUCHPAGE
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

Vedi anche

Iprint