PRINTPROCESSOR_CAPS_2 structure

Represents printer capability information.

Syntax

typedef struct _PRINTPROCESSOR_CAPS_2 {
  DWORD dwLevel;
  DWORD dwNupOptions;
  DWORD dwPageOrderFlags;
  DWORD dwNumberOfCopies;
  DWORD dwNupDirectionCaps;
  DWORD dwNupBorderCaps;
  DWORD dwBookletHandlingCaps;
  DWORD dwDuplexHandlingCaps;
  DWORD dwScalingCaps;
} PRINTPROCESSOR_CAPS_2, *PPRINTPROCESSOR_CAPS_2;

Members

dwLevel

A value that indicates the structure's version number.

dwNupOptions

A bit mask representing the various numbers of document pages the printer can print on a single side of a physical sheet. The least significant bit represents one document page per side, the next bit represents 2 document pages per side, and so on. For example, 0x0000810B indicates the printer supports 1, 2, 4, 9, and 16 document pages per physical side.

dwPageOrderFlags

A flag value that indicates the order in which pages will be printed. It can be NORMAL_PRINT, REVERSE_PRINT, or BOOKLET_PRINT.

dwNumberOfCopies

The maximum number of copies the printer can handle.

dwNupDirectionCaps

The available patterns when multiple document pages are printed on the same side of a sheet of paper. The possible flags are the following:

Value Meaning
PPCAPS_RIGHT_THEN_DOWN Pages appear in rows from right to left, each subsequent row below its predecessor.
PPCAPS_DOWN_THEN_RIGHT Pages appear in columns from top to bottom, each subsequent column to the right of its predecessor.
PPCAPS_LEFT_THEN_DOWN Pages appear in rows from left to right, each subsequent row below its predecessor.
PPCAPS_DOWN_THEN_LEFT Pages appear in columns from top to bottom, each subsequent column to the left of its predecessor.

dwNupBorderCaps

Can be only PPCAPS_BORDER_PRINT, indicating that, when multiple document pages are being printed on a single side of a physical sheet, the printer can be told whether or not to print a border around the imageable area of each document page.

dwBookletHandlingCaps

Can only be PPCAPS_BOOKLET_EDGE, indicating that the printer can print booklet style.

dwDuplexHandlingCaps

Value Meaning
PPCAPS_REVERSE_PAGES_FOR_REVERSE_DUPLEX When printing in reverse order and duplexing, the processor can print swap the order of each pair of pages, so instead of printing in order 4,3,2,1, they will print in the order 3,4,1,2.
PPCAPS_DONT_SEND_EXTRA_PAGES_FOR_DUPLEX When duplexing, the Print Processor can be told not to send an extra page when there is an odd number of document pages. The processor will honor the value as best it can, but in cases where preventing an extra blank page would cause improper output, the extra pages may still be sent.

dwScalingCaps

Can only be PPCAPS_SQUARE_SCALING, indicating that the printer can scale the page image.

Remarks

Values for all structure members are supplied by the GetPrintProcessorCapabilities function, which is documented in the Windows Driver Kit.

When an application calls GetPrinterData, the spooler calls a print processor's GetPrintProcessorCapabilities function and specifies a value name that has a format of **PrintProcCaps_**datatype, where datatype is the name of an input data type.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2008 [desktop apps only]
Header
Winspool.h (include Windows.h)

See also