ATTRIBUTE_INFO_3 structure (winddiui.h)
The ATTRIBUTE_INFO_3 structure is used as a parameter for a printer interface DLL's DrvQueryJobAttributes function. All member values are function-supplied.
Syntax
typedef struct _ATTRIBUTE_INFO_3 {
DWORD dwJobNumberOfPagesPerSide;
DWORD dwDrvNumberOfPagesPerSide;
DWORD dwNupBorderFlags;
DWORD dwJobPageOrderFlags;
DWORD dwDrvPageOrderFlags;
DWORD dwJobNumberOfCopies;
DWORD dwDrvNumberOfCopies;
DWORD dwColorOptimization;
short dmPrintQuality;
short dmYResolution;
} ATTRIBUTE_INFO_3, *PATTRIBUTE_INFO_3;
Members
dwJobNumberOfPagesPerSide
Number of document pages to be placed on one side of a physical page, as requested by the user. Allowable values are 1, 2, 4, 6, 9, or 16.
dwDrvNumberOfPagesPerSide
Number of document pages that the printer and driver can place on one side of a physical page. This value must be 1 or the value specified for dwJobNumberOfPagesPerSide.
dwNupBorderFlags
One of the following bit flag values:
Flag | Definition |
---|---|
BORDER_PRINT | The print processor should draw a border around the page. |
NO_BORDER_PRINT | The print processor should not draw a border around the page. |
dwJobPageOrderFlags
One of the following bit flag values:
Flag | Definition |
---|---|
BOOKLET_PRINT | Pages should be printed in booklet form, with two document pages printed on one side of a physical page. In landscape mode, the two document pages are printed side-by-side on the paper. In portrait mode, the two document pages are printed top-and-bottom. |
NORMAL_PRINT | Pages should be printed in normal order: page 1, page 2, and so on. |
REVERSE_PRINT | Pages should be printed in reverse order: last page, next-to-last page, and so on. |
dwDrvPageOrderFlags
Bit flags indicating which page ordering options are supported by the printer and driver. Uses the same flags as dwJobPageOrderFlags.
dwJobNumberOfCopies
Number of copies of the print job, as requested by the user.
dwDrvNumberOfCopies
Maximum number of copies the printer and driver can handle at once, taking into account such job attributes as collating and stapling.
dwColorOptimization
One of the following bit flag values:
Flag | Definition |
---|---|
COLOR_OPTIMIZATION | The print processor should use monochrome color optimization. |
NO_COLOR_OPTIMIZATION | The print processor should not use monochrome color optimization. |
dmPrintQuality
Value to be used instead of the dmPrintQuality member of the print job's DEVMODEW structure, if the COLOR_OPTIMIZATION flag is set in dwColorOptimization.
dmYResolution
Value to be used instead of the dmYResolution member of the print job's DEVMODEW structure, if the COLOR_OPTIMIZATION flag is set in dwColorOptimization.
Remarks
If the dmPrintQuality member of a print job's DEVMODEW structure is a negative value, such as DMRES_HIGH, and if monochrome color optimization is enabled, then switching between color and monochrome could result in different resolutions being used. This is because DMRES_HIGH might be assigned to different DPI values for color and monochrome rendering. (For Unidrv-supported devices, this assignment occurs in the printer's GPD file.) To ensure a consistent resolution throughout the print job, the driver can specify positive dmPrintQuality and dmYResolution values (representing a specific DPI resolution) to override the equivalent DEVMODEW values.
The EMF print processor uses the flag specified for dwColorOptimization to determine whether to request GDI to perform monochrome color optimization. If monochrome color optimization is enabled, the print job can be switched between monochrome and color rendering as appropriate.
If you are creating a Unidrv rendering plug-in to generate color watermarks, note that when the dwColorOptimization member is set to COLOR_OPTIMIZATION, color watermarks are printed in black and white when they are printed on black-and-white documents. To ensure that color watermarks print correctly with color and black-and-white documents, disable color optimization. Color optimization also can be controlled by the Unidrv *ChangeColorModeOnDoc? color attribute (see Color Attributes), and by the GdiEndPageEMF function.
For information about other ATTRIBUTE_INFO_3 structure members, see ATTRIBUTE_INFO_1 and ATTRIBUTE_INFO_2.
Requirements
Requirement | Value |
---|---|
Header | winddiui.h (include Winddiui.h, Winsplp.h) |