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

Imprime un objeto en la impresora especificada utilizando los requisitos de trabajo especificados.

Sintaxis

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

Campo de bits que especifica las opciones de impresión de la enumeración 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

Puntero a una estructura DVTARGETDEVICE que describe el dispositivo de impresión de destino.

[in, out] ppPageSet

Puntero a una variable de puntero PAGESET que recibe un puntero a la estructura que indica qué páginas se van a imprimir.

[in, out] pstgmOptions

Puntero a opciones de impresión específicas del objeto en un conjunto de propiedades OLE serializado. Este parámetro puede ser NULL en la entrada o devolución.

[in] pcallback

Puntero a la interfaz IContinueCallback en el sitio de vista, que se va a sondear periódicamente a velocidades de respuesta humana para determinar si se debe abandonar la impresión. Este parámetro puede ser NULL.

[in] nFirstPage

Número de página de la primera página que se va a imprimir. Este valor invalida cualquier valor pasado previamente a IPrint::SetInitialPageNum.

[out] pcPagesPrinted

Puntero a una variable que recibe el número real de páginas que se imprimieron correctamente.

[out] pnLastPage

Puntero a una variable que recibe el número de página de la última página que se imprimió.

Valor devuelto

Este método puede devolver el valor devuelto estándar E_UNEXPECTED, así como los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
PRINT_E_CANCELED
El proceso de impresión se canceló antes de la finalización. *pcPagesPrinted indica el número de páginas que se imprimieron correctamente antes de que se produjera este error.
PRINT_E_NOSUCHPAGE
No existe una página especificada en **ppPageSet o nFirstPage .

Comentarios

La impresora en la que se va a imprimir el objeto se indica mediante la estructura DVTARGETDEVICE a la que apunta pptd. La estructura DEVMODE del dispositivo de destino indica opciones específicas de impresora de trabajo completo, como el número de copias, el tamaño del papel y la calidad de impresión. La estructura DEVMODE también puede contener información de orientación en el miembro dmOrientation (esto se indica en el miembro dmFields ). Si está presente, se debe utilizar esta orientación de papel; Si no está presente, se usará la orientación natural determinada por el contenido del objeto.

Debido a la posibilidad de entrada del usuario, los parámetros pptd y ppPageSet son estructuras [in,out]. En ausencia de interacción del usuario (es decir, si no se establece la marca PRINTFLAG_PROMPTUSER), tanto el dispositivo de destino como el conjunto de páginas serán necesariamente los mismos para la entrada y la salida. Sin embargo, si se solicita al usuario opciones de impresión, el objeto devuelve la información del dispositivo de destino y del conjunto de páginas adecuada para lo que el usuario ha elegido realmente.

El parámetro pstgmOptions también es [in,out]. Al salir, el objeto debe escribir en *pstgmOptions cualquier información específica del objeto que necesite reproducir este trabajo de impresión exacto. Algunos ejemplos pueden incluir si el usuario seleccionó "hoja, notas o ambos" en una aplicación de hoja de cálculo. Los datos pasados tienen el formato de un conjunto de propiedades serializado. Normalmente, los datos solo son útiles cuando se devuelven en una llamada posterior al mismo objeto. Dado que una llamada posterior puede especificar diferentes marcas de interacción del usuario, dispositivo de destino u otra configuración, el autor de la llamada puede hacer que el documento se imprima varias veces de la misma manera en contextos de impresión ligeramente diferentes.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado docobj.h

Consulte también

Iprint