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 |
---|---|
|
El método se completó correctamente. |
|
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. |
|
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 |