2.2.2.1 _DEVMODE
The _DEVMODE structure defines initialization data for a printer. Although the _DEVMODE structure does not contain any pointers, it is still custom-marshaled, because the size of the structure is version-specific and implementation-specific, and cannot be expressed using IDL attributes. It has the following message format.
The print server MUST accept _DEVMODE structures with truncated public information. A truncated _DEVMODE structure contains a subset of fields, from dmDeviceName up to and including dmFields, plus at least those fields that are initialized as specified by dmFields. It is followed by private, printer driver–specific data, the size of which is specified by the dmDriverExtra field.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
dmDeviceName (64 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
dmSpecVersion |
dmDriverVersion |
||||||||||||||||||||||||||||||
dmSize |
dmDriverExtra |
||||||||||||||||||||||||||||||
dmFields |
|||||||||||||||||||||||||||||||
dmOrientation |
dmPaperSize |
||||||||||||||||||||||||||||||
dmPaperLength |
dmPaperWidth |
||||||||||||||||||||||||||||||
dmScale |
dmCopies |
||||||||||||||||||||||||||||||
dmDefaultSource |
dmPrintQuality |
||||||||||||||||||||||||||||||
dmColor |
dmDuplex |
||||||||||||||||||||||||||||||
dmYResolution |
dmTTOption |
||||||||||||||||||||||||||||||
dmCollate |
dmFormName (64 bytes) |
||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
reserved0 |
||||||||||||||||||||||||||||||
reserved1 |
|||||||||||||||||||||||||||||||
reserved2 |
|||||||||||||||||||||||||||||||
reserved3 |
|||||||||||||||||||||||||||||||
dmNup |
|||||||||||||||||||||||||||||||
reserved4 |
|||||||||||||||||||||||||||||||
dmICMMethod |
|||||||||||||||||||||||||||||||
dmICMIntent |
|||||||||||||||||||||||||||||||
dmMediaType |
|||||||||||||||||||||||||||||||
dmDitherType |
|||||||||||||||||||||||||||||||
reserved5 |
|||||||||||||||||||||||||||||||
reserved6 |
|||||||||||||||||||||||||||||||
reserved7 |
|||||||||||||||||||||||||||||||
reserved8 |
|||||||||||||||||||||||||||||||
dmDriverExtraData (variable) |
|||||||||||||||||||||||||||||||
... |
dmDeviceName (64 bytes): A 32-element array of 16-bit Unicode characters that form a null-terminated string that specifies the name of the printer. Printer name strings that are longer than 32 characters are truncated to fit the array. For more rules governing printer names, see section 2.2.4.14.
dmSpecVersion (2 bytes): The version of initialization data specification on which the _DEVMODE structure is based. This value SHOULD be 0x0401.<93>
dmDriverVersion (2 bytes): For printers, an optional, implementation-defined version of the printer driver.<94>
dmSize (2 bytes): The size, in bytes, of the _DEVMODE structure, which MUST be a multiple of 4. This value does not include the length of any private, printer driver–specific data that follows the _DEVMODE structure's public fields. The size of private data is specified by the dmDriverExtra value.
-
If the _DEVMODE structure contains truncated public information, the value of dmSize is at least the size, in bytes, of a subset of fields, from dmDeviceName up to and including dmFields, plus fields that are initialized as specified by dmFields.
dmDriverExtra (2 bytes): The size, in bytes, of the private, printer driver–specific data that follows this structure.
dmFields (4 bytes): A bitfield that specifies the fields of the _DEVMODE structure that have been initialized. If a bit is set, the corresponding field MUST be initialized and MUST be processed on receipt. If a bit is not set, the value of the corresponding field SHOULD be zero when sent and MUST be ignored on receipt.
-
The value of this field is the result of a bitwise OR of the following bits.
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
10
U
P0
S
CP
WP
LP
SO
RC
LT
TY
D
XC
RP
QD
SC
PC
M0
0
0
0
0
0
F
M0
0
0
0
0
D
TM
TC
I
-
Name
Description
DM_ICMINTENT
CI
If this bit is set, the dmICMIntent field MUST be initialized.
DM_MEDIATYPE
MT
If this bit is set, the dmMediaType field MUST be initialized.
DM_DITHERTYPE
DT
If this bit is set, the dmDitherType field MUST be initialized.
DM_FORMNAME
FM
If this bit is set, the dmFormName field MUST be initialized.
DM_ICMMETHOD
CM
If this bit is set, the dmICMMethod field MUST be initialized.
DM_COPIES
CP
If this bit is set, the dmCopies field MUST be initialized.
DM_DEFAULTSOURCE
DS
If this bit is set, the dmDefaultSource field MUST be initialized.
DM_PRINTQUALITY
PQ
If this bit is set, the dmPrintQuality field MUST be initialized.
DM_COLOR
CR
If this bit is set, the dmColor field MUST be initialized.
DM_DUPLEX
DX
If this bit is set, the dmDuplex field MUST be initialized.
DM_YRESOLUTION
Y
If this bit is set, the dmYResolution field MUST be initialized.
DM_TTOPTION
TT
If this bit is set, the dmTTOption field MUST be initialized.
DM_COLLATE
CL
If this bit is set, the dmCollate field MUST be initialized.
DM_ORIENTATION
OR
If this bit is set, the dmOrientation field MUST be initialized.
DM_PAPERSIZE
PS
If this bit is set, the dmPaperSize field MUST be initialized. This bit MUST NOT be set if either DM_PAPERLENGTH or DM_PAPERWIDTH are set.
DM_PAPERLENGTH
PL
If this bit is set, the dmPaperLength field MUST be initialized. This bit MUST NOT be set if DM_PAPERSIZE is set.
DM_PAPERWIDTH
PW
If this bit is set, the dmPaperWidth field MUST be initialized. This bit MUST NOT be set if DM_PAPERSIZE is set.
DM_SCALE
SC
If this bit is set, the dmScale field MUST be initialized.
DM_NUP
UP
If this bit is set, the dmNup field MUST be initialized.
dmOrientation (2 bytes): For printers, the orientation for output. If the DM_ORIENTATION bit is set in dmFields, the value of this field SHOULD be one of the following.
-
Name/value
Description
DMORIENT_POTRAIT
0x0001
"Portrait" orientation.
DMORIENT_LANDSCAPE
0x0002
"Landscape" orientation.
dmPaperSize (2 bytes): For printers, the size of the output media. If the DM_PAPERSIZE bit is set in dmFields, the value of this field SHOULD<95> be one of the following, or it MAY be a device-specific value that is greater than or equal to 0x0100.
-
Name/value
Description
DMPAPER_LETTER
0x0001
Letter, 8 1/2 x 11 inches
DMPAPER_LEGAL
0x0005
Legal, 8 1/2 x 14 inches
DMPAPER_10X14
0x0010
10 x 14-inch sheet
DMPAPER_11X17
0x0011
11 x 17-inch sheet
DMPAPER_12X11
0x005A
12 x 11-inch sheet
DMPAPER_A3
0x0008
A3 sheet, 297 x 420 millimeters
DMPAPER_A3_ROTATED
0x004C
A3 rotated sheet, 420 x 297 millimeters
DMPAPER_A4
0x0009
A4 sheet, 210 x 297 millimeters
DMPAPER_A4_ROTATED
0x004D
A4 rotated sheet, 297 x 210 millimeters
DMPAPER_A4SMALL
0x000A
A4 small sheet, 210 x 297 millimeters
DMPAPER_A5
0x000B
A5 sheet, 148 x 210 millimeters
DMPAPER_A5_ROTATED
0x004E
A5 rotated sheet, 210 x 148 millimeters
DMPAPER_A6
0x0046
A6 sheet, 105 x 148 millimeters
DMPAPER_A6_ROTATED
0x0053
A6 rotated sheet, 148 x 105 millimeters
DMPAPER_B4
0x000C
B4 sheet, 250 x 354 millimeters
DMPAPER_B4_JIS_ROTATED
0x004F
B4 (JIS) rotated sheet, 364 x 257 millimeters
DMPAPER_B5
0x000D
B5 sheet, 182 x 257-millimeter paper
DMPAPER_B5_JIS_ROTATED
0x0050
B5 (JIS) rotated sheet, 257 x 182 millimeters
DMPAPER_B6_JIS
0x0058
B6 (JIS) sheet, 128 x 182 millimeters
DMPAPER_B6_JIS_ROTATED
0x0059
B6 (JIS) rotated sheet, 182 x 128 millimeters
DMPAPER_CSHEET
0x0018
C Sheet, 17 x 22 inches
DMPAPER_DBL_JAPANESE_POSTCARD
0x0045
Double Japanese Postcard, 200 x 148 millimeters
DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED
0x0052
Double Japanese Postcard Rotated, 148 x 200 millimeters
DMPAPER_DSHEET
0x0019
D Sheet, 22 x 34 inches
DMPAPER_ENV_9
0x0013
#9 Envelope, 3 7/8 x 8 7/8 inches
DMPAPER_ENV_10
0x0014
#10 Envelope, 4 1/8 x 9 1/2 inches
DMPAPER_ENV_11
0x0015
#11 Envelope, 4 1/2 x 10 3/8 inches
DMPAPER_ENV_12
0x0016
#12 Envelope, 4 3/4 x 11 inches
DMPAPER_ENV_14
0x0017
#14 Envelope, 5 x 11 1/2 inches
DMPAPER_ENV_C5
0x001C
C5 Envelope, 162 x 229 millimeters
DMPAPER_ENV_C3
0x001D
C3 Envelope, 324 x 458 millimeters
DMPAPER_ENV_C4
0x001E
C4 Envelope, 229 x 324 millimeters
DMPAPER_ENV_C6
0x001F
C6 Envelope, 114 x 162 millimeters
DMPAPER_ENV_C65
0x0020
C65 Envelope, 114 x 229 millimeters
DMPAPER_ENV_B4
0x0021
B4 Envelope, 250 x 353 millimeters
DMPAPER_ENV_B5
0x0022
B5 Envelope, 176 x 250 millimeters
DMPAPER_ENV_B6
0x0023
B6 Envelope, 176 x 125 millimeters
DMPAPER_ENV_DL
0x001B
DL Envelope, 110 x 220 millimeters
DMPAPER_ENV_ITALY
0x0024
Italy Envelope, 110 x 230 millimeters
DMPAPER_ENV_MONARCH
0x0025
Monarch Envelope, 3 7/8 x 7 1/2 inches
DMPAPER_ENV_PERSONAL
0x0026
6 3/4 Envelope, 3 5/8 x 6 1/2 inches
DMPAPER_ESHEET
0x001A
E Sheet, 34 x 44 inches
DMPAPER_EXECUTIVE
0x0007
Executive, 7 1/4 x 10 1/2 inches
DMPAPER_FANFOLD_US
0x0027
US Std Fanfold, 14 7/8 x 11 inches
DMPAPER_FANFOLD_STD_GERMAN
0x0028
German Std Fanfold, 8 1/2 x 12 inches
DMPAPER_FANFOLD_LGL_GERMAN
0x0029
German Legal Fanfold, 8 x 13 inches
DMPAPER_FOLIO
0x000E
Folio, 8 1/2 x 13-inch paper
DMPAPER_JAPANESE_POSTCARD_ROTATED
0x0051
Japanese Postcard Rotated, 148 x 100 millimeters
DMPAPER_JENV_CHOU3
0x0049
Japanese Envelope Chou #3
DMPAPER_JENV_CHOU3_ROTATED
0x0056
Japanese Envelope Chou #3 Rotated
DMPAPER_JENV_CHOU4
0x004A
Japanese Envelope Chou #4
DMPAPER_JENV_CHOU4_ROTATED
0x0057
Japanese Envelope Chou #4 Rotated
DMPAPER_JENV_KAKU2
0x0047
Japanese Envelope Kaku #2
DMPAPER_JENV_KAKU2_ROTATED
0x0054
Japanese Envelope Kaku #2 Rotated
DMPAPER_JENV_KAKU3
0x0048
Japanese Envelope Kaku #3
DMPAPER_JENV_KAKU3_ROTATED
0x0055
Japanese Envelope Kaku #3 Rotated
DMPAPER_JENV_YOU4
0x005B
Japanese Envelope You #4
DMPAPER_JENV_YOU4_ROTATED
0x005C
Japanese Envelope You #4 Rotated
DMPAPER_LEDGER
0x0004
Ledger, 17 x 11 inches
DMPAPER_LETTER_ROTATED
0x004B
Letter Rotated, 11 by 8 1/2 inches
DMPAPER_LETTERSMALL
0x0002
Letter Small, 8 1/2 x 11 inches
DMPAPER_NOTE
0x0012
Note, 8 1/2 x 11-inches
DMPAPER_P16K
0x005D
PRC 16K, 146 x 215 millimeters
DMPAPER_P16K_ROTATED
0x006A
PRC 16K Rotated, 215 x 146 millimeters
DMPAPER_P32K
0x005E
PRC 32K, 97 x 151 millimeters
DMPAPER_P32K_ROTATED
0x006B
PRC 32K Rotated, 151 x 97 millimeters
DMPAPER_P32KBIG
0x005F
PRC 32K(Big) 97 x 151 millimeters
DMPAPER_P32KBIG_ROTATED
0x006C
PRC 32K(Big) Rotated, 151 x 97 millimeters
DMPAPER_PENV_1
0x0060
PRC Envelope #1, 102 by 165 millimeters
DMPAPER_PENV_1_ROTATED
0x006D
PRC Envelope #1 Rotated, 165 x 102 millimeters
DMPAPER_PENV_2
0x0061
PRC Envelope #2, 102 x 176 millimeters
DMPAPER_PENV_2_ROTATED
0x006E
PRC Envelope #2 Rotated, 176 x 102 millimeters
DMPAPER_PENV_3
0x0062
PRC Envelope #3, 125 x 176 millimeters
DMPAPER_PENV_3_ROTATED
0x006F
PRC Envelope #3 Rotated, 176 x 125 millimeters
DMPAPER_PENV_4
0x0063
PRC Envelope #4, 110 x 208 millimeters
DMPAPER_PENV_4_ROTATED
0x0070
PRC Envelope #4 Rotated, 208 x 110 millimeters
DMPAPER_PENV_5
0x0064
PRC Envelope #5, 110 x 220 millimeters
DMPAPER_PENV_5_ROTATED
0x0071
PRC Envelope #5 Rotated, 220 x 110 millimeters
DMPAPER_PENV_6
0x0065
PRC Envelope #6, 120 x 230 millimeters
DMPAPER_PENV_6_ROTATED
0x0072
PRC Envelope #6 Rotated, 230 x 120 millimeters
DMPAPER_PENV_7
0x0066
PRC Envelope #7, 160 x 230 millimeters
DMPAPER_PENV_7_ROTATED
0x0073
PRC Envelope #7 Rotated, 230 x 160 millimeters
DMPAPER_PENV_8
0x0067
PRC Envelope #8, 120 x 309 millimeters
DMPAPER_PENV_8_ROTATED
0x0074
PRC Envelope #8 Rotated, 309 x 120 millimeters
DMPAPER_PENV_9
0x0068
PRC Envelope #9, 229 x 324 millimeters
DMPAPER_PENV_9_ROTATED
0x0075
PRC Envelope #9 Rotated, 324 x 229 millimeters
DMPAPER_PENV_10
0x0069
PRC Envelope #10, 324 x 458 millimeters
DMPAPER_PENV_10_ROTATED
0x0076
PRC Envelope #10 Rotated, 458 x 324 millimeters
DMPAPER_QUARTO
0x000F
Quarto, 215 x 275 millimeter paper
DMPAPER_STATEMENT
0x0006
Statement, 5 1/2 x 8 1/2 inches
DMPAPER_TABLOID
0x0003
Tabloid, 11 x 17 inches
0x0100 ≤ value
The value is device-specific.
dmPaperLength (2 bytes): If the DM_PAPERLENGTH bit is set in the dmFields field, this field specifies the length of the paper, in tenths of a millimeter, to use in the printer for which the job is destined.
dmPaperWidth (2 bytes): If the DM_PAPERWIDTH bit is set in the dmFields field, this field specifies the width of the paper, in tenths of a millimeter, to use in the printer for which the job is destined.
dmScale (2 bytes): If the DM_SCALE bit is set in the dmFields field, this field specifies the percentage factor by which the printed output is to be scaled.
dmCopies (2 bytes): If the DM_COPIES bit is set in the dmFields field, this field specifies the number of copies to be printed, if the device supports multiple-page copies.
dmDefaultSource (2 bytes): If the DM_DEFAULTSOURCE bit is set in the dmFields field, this field specifies the paper source.
-
The value of this field SHOULD be one of the following, or it MAY be a device-specific value that is greater than or equal to 0x0100.
-
Name/value
Description
DMBIN_UPPER
0x0001
Select the upper paper bin. This value is also used for the paper source for printers that only have one paper bin.
DMBIN_LOWER
0x0002
Select the lower bin.
DMBIN_MIDDLE
0x0003
Select the middle paper bin.
DMBIN_MANUAL
0x0004
Manually select the paper bin.
DMBIN_ENVELOPE
0x0005
Select the auto envelope bin.
DMBIN_ENVMANUAL
0x0006
Select the manual envelope bin.
DMBIN_AUTO
0x0007
Auto-select the bin.
DMBIN_TRACTOR
0x0008
Select the bin with the tractor paper.
DMBIN_SMALLFMT
0x0009
Select the bin with the smaller paper format.
DMBIN_LARGEFMT
0x000A
Select the bin with the larger paper format.
DMBIN_LARGECAPACITY
0x000B
Select the bin with large capacity.
DMBIN_CASSETTE
0x000E
Select the cassette bin.
DMBIN_FORMSOURCE
0x000F
Select the bin with the required form.
dmPrintQuality (2 bytes): If the DM_PRINTQUALITY bit is set in the dmFields field, this field specifies the printer resolution. The value of this field MUST be either a positive value that specifies a device-dependent resolution in dots per inch (DPI) or one of the following four predefined device-independent values that are mapped to a device-specific resolution in an implementation-specific manner.
-
Name/value
Description
DMRES_HIGH
0xFFFC
High-resolution printouts
DMRES_MEDIUM
0xFFFD
Medium-resolution printouts
DMRES_LOW
0xFFFE
Low-resolution printouts
DMRES_DRAFT
0xFFFF
Draft-resolution printouts
dmColor (2 bytes): If the DM_COLOR bit is set in the dmFields field, this field specifies the color mode to use with color printers. The value of this field MUST be one of the following.
-
Name/value
Description
DMRES_MONOCHROME
0x0001
Use monochrome printing mode.
DMRES_COLOR
0x0002
Use color printing mode.
dmDuplex (2 bytes): If the DM_DUPLEX bit is set in the dmFields field, this field specifies duplex or double-sided printing for printers that are capable of duplex printing. The value of this field MUST be one of the following.
-
Name/value
Description
DMDUP_SIMPLEX
0x0001
Normal (non-duplex) printing.
DMDUP_VERTICAL
0x0002
Long-edge binding; that is, the long edge of the page is vertical.
DMDUP_HORIZONTAL
0x0003
Short-edge binding; that is, the long edge of the page is horizontal.
dmYResolution (2 bytes): If the DM_YRESOLUTION bit is set in the dmFields, this field specifies the y-resolution, in dots per inch, of the printer.
dmTTOption (2 bytes): If the DM_TTOPTION bit is set in the dmFields field, this field specifies how TrueType fonts MUST be printed. The value of this field MUST be one of the following.
-
Name/value
Description
DMTT_BITMAP
0x0001
Prints TrueType fonts as graphics. This is the default action for dot-matrix printers.
DMTT_DOWNLOAD
0x0002
Downloads TrueType fonts as soft fonts. This is the default action for Hewlett-Packard printers that use printer control language (PCL).
DMTT_SUBDEV
0x0003
Substitutes device fonts for TrueType fonts. This is the default action for PostScript printers.
DMTT_DOWNLOAD_OUTLINE
0x0004
Downloads TrueType fonts as outline soft fonts.<96>
dmCollate (2 bytes): If the DM_COLLATE bit is set in the dmFields field, this field specifies whether collation is used when printing multiple copies. The value of this field is one of the following:
-
Name/value
Description
DMCOLLATE_FALSE
0x0000
Do not collate when printing multiple copies.
DMCOLLATE_TRUE
0x0001
Collate when printing multiple copies.
dmFormName (64 bytes): This field is a 32-element array of 16-bit Unicode characters. If the DM_FORMNAME bit is set in the dmFields field, this field specifies the name of the form to use, for example, "Letter" or "Legal". The value of this field is restricted to 32 characters, including the trailing null. Form names that are longer than 32 characters, including the trailing null, are truncated to fit the array.
reserved0 (2 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved1 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved2 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved3 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
dmNup (4 bytes): If the DM_NUP bit is set in the dmFields, this field specifies the responsibility for performing page layout for N-Up Printing. It is one of the following values:
-
Name/value
Description
DMNUP_SYSTEM
0x00000001
The print server does the page layout.
DMNUP_ONEUP
0x00000002
The application does the page layout.
reserved4 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
dmICMMethod (4 bytes): If the DM_ICMMETHOD bit is set in the dmFields field, this field specifies how Image Color Management (ICM) is handled. For a non-ICM application, this field determines if ICM is enabled or disabled. For ICM applications, the system examines this field to determine how to handle ICM support. The value of this field is one of the following predefined values or a printer driver-defined value greater than or equal to 0x00000100.
-
Name/value
Description
DMICMMETHOD_NONE
0x00000001
Specifies that ICM is disabled.
DMICMMETHOD_SYSTEM
0x00000002
Specifies that ICM is handled by the system on which the page description language (PDL) data is generated.
DMICMMETHOD_DRIVER
0x00000003
Specifies that ICM is handled by the printer driver.
DMICMMETHOD_DEVICE
0x00000004
Specifies that ICM is handled by the destination device.
dmICMIntent (4 bytes): If the DM_ICMINTENT bit is set in the dmFields field, this field specifies which color matching method, or intent, is used by default. This field is primarily for non-ICM applications. ICM applications can establish intents by using the ICM functions. The value of this field is one of the following predefined values, or a printer driver defined value greater than or equal to 0x00000100.
-
Name/value
Description
DMICM_SATURATE
0x00000001
Color matching SHOULD be optimized for color saturation.
DMICM_CONTRAST
0x00000002
Color matching SHOULD optimize for color contrast.
DMICM_COLORIMETRIC
0x00000003
Color matching SHOULD optimize to match the exact color requested.
DMICM_ABS_COLORIMETRIC
0x00000004
Color matching SHOULD optimize to match the exact color requested without white point mapping.
dmMediaType (4 bytes): If the DM_MEDIATYPE bit is set in the dmFields field, this field specifies the type of media to print on. The value of this field is one of the following predefined values or else a printer driver-defined value greater than or equal to 0x00000100.
-
Name/value
Description
DMMEDIA_STANDARD
0x00000001
Plain paper
DMMEDIA_TRANSPARENCY
0x00000002
Transparent film
DMMEDIA_GLOSSY
0x00000003
Glossy paper
dmDitherType (4 bytes): If the DM_DITHERTYPE bit is set in the dmFields field, this field specifies how dithering is to be done. The value of this field is one of the following predefined values or else a printer driver-defined value greater than or equal to 0x00000100.
-
Name/value
Description
DMDITHER_NONE
0x00000001
No dithering.
DMDITHER_COARSE
0x00000002
Dithering with a coarse brush.
DMDITHER_FINE
0x00000003
Dithering with a fine brush.
DMDITHER_LINEART
0x00000004
Line art dithering, a special dithering method that produces well defined borders between black, white, and gray scaling.
DMDITHER_ERRORDIFFUSION
0x00000005
Error diffusion dithering.<97>
DMDITHER_RESERVED6
0x00000006
Same as DMDITHER_LINEART.
DMDITHER_RESERVED7
0x00000007
Same as DMDITHER_LINEART.
DMDITHER_RESERVED8
0x00000008
Same as DMDITHER_LINEART.
DMDITHER_RESERVED9
0x00000009
Same as DMDITHER_LINEART.
DMDITHER_GRAYSCALE
0x0000000A
Device does gray scaling.
reserved5 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved6 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved7 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
reserved8 (4 bytes): A value that SHOULD be zero when sent and MUST be ignored on receipt.
dmDriverExtraData (variable): This field can contain implementation-specific printer driver data. Its size in bytes is specified by the dmDriverExtra field.<98>