Método IPrint::P rint (docobj.h)

Imprime um objeto na impressora especificada, usando os requisitos de trabalho especificados.

Sintaxe

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
);

Parâmetros

[in] grfFlags

Um campo de bits que especifica opções de impressão da enumeração 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

Um ponteiro para uma estrutura DVTARGETDEVICE que descreve o dispositivo de impressão de destino.

[in, out] ppPageSet

Um ponteiro para uma variável de ponteiro PAGESET que recebe um ponteiro para a estrutura que indica quais páginas devem ser impressas.

[in, out] pstgmOptions

Um ponteiro para opções de impressão específicas do objeto em um conjunto de propriedades OLE serializado. Esse parâmetro pode ser NULL na entrada ou no retorno.

[in] pcallback

Um ponteiro para a interface IContinueCallback no site de exibição, que deve ser sondado periodicamente em velocidades de resposta humana para determinar se a impressão deve ser abandonada. Este parâmetro pode ser NULL.

[in] nFirstPage

O número de página da primeira página a ser impressa. Esse valor substitui qualquer valor passado anteriormente para IPrint::SetInitialPageNum.

[out] pcPagesPrinted

Um ponteiro para uma variável que recebe o número real de páginas que foram impressas com êxito.

[out] pnLastPage

Um ponteiro para uma variável que recebe o número da página da última página que foi impressa.

Valor retornado

Esse método pode retornar o valor de retorno padrão E_UNEXPECTED, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
PRINT_E_CANCELED
O processo de impressão foi cancelado antes da conclusão. *pcPagesPrinted indica o número de páginas que foram impressas com êxito antes desse erro.
PRINT_E_NOSUCHPAGE
Uma página especificada em **ppPageSet ou nFirstPage não existe.

Comentários

A impressora na qual o objeto deve ser impresso é indicada pela estrutura DVTARGETDEVICE apontada por pptd. A estrutura DEVMODE no dispositivo de destino indica opções específicas da impressora de trabalho inteiro, como número de cópias, tamanho do papel e qualidade da impressão. A estrutura DEVMODE também pode conter informações de orientação no membro dmOrientation (isso é indicado no membro dmFields ). Se estiver presente, essa orientação de papel deverá ser usada; se estiver ausente, a orientação natural, conforme determinado pelo conteúdo do objeto, será usada.

Devido à possibilidade de entrada do usuário, os parâmetros pptd e ppPageSet são estruturas [in,out]. Na ausência de interação do usuário (ou seja, se o sinalizador PRINTFLAG_PROMPTUSER não estiver definido), o dispositivo de destino e o conjunto de páginas serão necessariamente os mesmos para entrada e saída. No entanto, se o usuário for solicitado a obter opções de impressão, o objeto retornará informações de dispositivo de destino e de conjunto de páginas apropriadas ao que o usuário realmente escolheu.

O parâmetro pstgmOptions também é [in,out]. Na saída, o objeto deve gravar em *pstgmOptions todas as informações específicas do objeto que ele precisaria para reproduzir esse trabalho de impressão exato. Exemplos podem incluir se o usuário selecionou "planilha, anotações ou ambos" em um aplicativo de planilha. Os dados passados estão no formato de um conjunto de propriedades serializado. Normalmente, os dados são úteis somente quando passados novamente em uma chamada subsequente para o mesmo objeto. Como uma chamada subsequente pode especificar diferentes sinalizadores de interação do usuário, dispositivo de destino ou outras configurações, o chamador pode fazer com que o documento seja impresso várias vezes da mesma forma em contextos de impressão ligeiramente diferentes.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho docobj.h

Confira também

Iprint