DEVMODE 数据结构包含有关打印机或显示设备的初始化和环境的信息。
语法
typedef struct _devicemodeA {
  BYTE  dmDeviceName[CCHDEVICENAME];
  WORD  dmSpecVersion;
  WORD  dmDriverVersion;
  WORD  dmSize;
  WORD  dmDriverExtra;
  DWORD dmFields;
  union {
    struct {
      short dmOrientation;
      short dmPaperSize;
      short dmPaperLength;
      short dmPaperWidth;
      short dmScale;
      short dmCopies;
      short dmDefaultSource;
      short dmPrintQuality;
    } DUMMYSTRUCTNAME;
    POINTL dmPosition;
    struct {
      POINTL dmPosition;
      DWORD  dmDisplayOrientation;
      DWORD  dmDisplayFixedOutput;
    } DUMMYSTRUCTNAME2;
  } DUMMYUNIONNAME;
  short dmColor;
  short dmDuplex;
  short dmYResolution;
  short dmTTOption;
  short dmCollate;
  BYTE  dmFormName[CCHFORMNAME];
  WORD  dmLogPixels;
  DWORD dmBitsPerPel;
  DWORD dmPelsWidth;
  DWORD dmPelsHeight;
  union {
    DWORD dmDisplayFlags;
    DWORD dmNup;
  } DUMMYUNIONNAME2;
  DWORD dmDisplayFrequency;
  DWORD dmICMMethod;
  DWORD dmICMIntent;
  DWORD dmMediaType;
  DWORD dmDitherType;
  DWORD dmReserved1;
  DWORD dmReserved2;
  DWORD dmPanningWidth;
  DWORD dmPanningHeight;
} DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA;
成员
dmDeviceName[CCHDEVICENAME]
一个零终止字符数组,指定打印机或显示器的“友好”名称;例如,对于 PCL/HP LaserJet,则为“PCL/HP LaserJet”。 此字符串在设备驱动程序中是唯一的。 请注意,此名称可能会被截断,以适应 dmDeviceName 数组。
dmSpecVersion
结构所基于的初始化数据规范的版本号。 若要确保正确版本用于任何操作系统,请使用DM_SPECVERSION。
dmDriverVersion
驱动程序开发人员分配的驱动程序版本号。
dmSize
指定 DEVMODE 结构的大小(以字节为单位)不包括可能遵循结构公共成员的任何专用驱动程序特定数据。 将此成员设置为 sizeof (DEVMODE),以指示正在使用的 DEVMODE 结构的版本。
dmDriverExtra
包含遵循此结构的专用驱动程序数据字节数。 如果设备驱动程序不使用特定于设备的信息,请将此成员设置为零。
dmFields
指定是否已初始化 DEVMODE 结构的某些成员。 如果初始化成员,则会设置其相应的位,否则该位是明确的。 驱动程序仅支持那些适合打印机或显示技术 DEVMODE 的成员 成员。
定义了以下值,此处列出了相应的结构成员。
| 价值 | 结构成员 | 
|---|---|
| DM_ORIENTATION | dmOrientation | 
| DM_PAPERSIZE | dmPaperSize | 
| DM_PAPERLENGTH | dmPaperLength | 
| DM_PAPERWIDTH | dmPaperWidth | 
| DM_SCALE | dmScale | 
| DM_COPIES | dmCopies | 
| DM_DEFAULTSOURCE | dmDefaultSource | 
| DM_PRINTQUALITY | dmPrintQuality | 
| DM_POSITION | dmPosition | 
| DM_DISPLAYORIENTATION | dmDisplayOrientation | 
| DM_DISPLAYFIXEDOUTPUT | dmDisplayFixedOutput | 
| DM_COLOR | dmColor | 
| DM_DUPLEX | dmDuplex | 
| DM_YRESOLUTION | dmYResolution | 
| DM_TTOPTION | dmTTOption | 
| DM_COLLATE | dmCollate | 
| DM_FORMNAME | dmFormName | 
| DM_LOGPIXELS | dmLogPixels | 
| DM_BITSPERPEL | dmBitsPerPel | 
| DM_PELSWIDTH | dmPelsWidth | 
| DM_PELSHEIGHT | dmPelsHeight | 
| DM_DISPLAYFLAGS | dmDisplayFlags | 
| DM_NUP | dmNup | 
| DM_DISPLAYFREQUENCY | dmDisplayFrequency | 
| DM_ICMMETHOD | dmICMMethod | 
| DM_ICMINTENT | dmICMIntent | 
| DM_MEDIATYPE | dmMediaType | 
| DM_DITHERTYPE | dmDitherType | 
| DM_PANNINGWIDTH | dmPanningWidth | 
| DM_PANNINGHEIGHT | dmPanningHeight | 
DUMMYUNIONNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmOrientation
仅对于打印机设备,请选择纸张的方向。 此成员可以是DMORIENT_PORTRAIT(1)或DMORIENT_LANDSCAPE(2)。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmPaperSize
仅对于打印机设备,选择要打印的纸张大小。 如果纸张的长度和宽度均由 dmPaperLength 和 dmPaperWidth 成员设置,则可以将此成员设置为零。 否则,可以将 dmPaperSize 成员设置为大于或等于DMPAPER_USER或以下预定义值之一的设备特定值。
| 价值 | 意义 | 
|---|---|
| DMPAPER_LETTER | 字母,8 1/2- 11 英寸 | 
| DMPAPER_LEGAL | 法律,8 1/2 - 14 英寸 | 
| DMPAPER_9X11 | 9 - 11 英寸工作表 | 
| DMPAPER_10X11 | 10× 11 英寸工作表 | 
| DMPAPER_10X14 | 10 - 14 英寸工作表 | 
| DMPAPER_15X11 | 15- ×11 英寸工作表 | 
| DMPAPER_11X17 | 11- ×17 英寸工作表 | 
| DMPAPER_12X11 | 12- ×11 英寸工作表 | 
| DMPAPER_A2 | A2 工作表,420 x 594 毫米 | 
| DMPAPER_A3 | A3 工作表, 297 - 420 毫米 | 
| DMPAPER_A3_EXTRA | A3 额外 322 x 445 毫米 | 
| DMPAPER_A3_EXTRA_TRAVERSE | A3 超横 322 x 445 毫米 | 
| DMPAPER_A3_ROTATED | A3 旋转工作表,420- 到 297 毫米 | 
| DMPAPER_A3_TRAVERSE | A3 横向 297 x 420 毫米 | 
| DMPAPER_A4 | A4 工作表, 210 - 297 毫米 | 
| DMPAPER_A4_EXTRA | A4 工作表,9.27 x 12.69 英寸 | 
| DMPAPER_A4_PLUS | A4 Plus 210 x 330 毫米 | 
| DMPAPER_A4_ROTATED | A4 旋转工作表,297- 到 210 毫米 | 
| DMPAPER_A4SMALL | A4 小纸,210- 297 毫米 | 
| DMPAPER_A4_TRANSVERSE | A4 横横 210 x 297 毫米 | 
| DMPAPER_A5 | A5 工作表,148- 到 210 毫米 | 
| DMPAPER_A5_EXTRA | A5 额外 174 x 235 毫米 | 
| DMPAPER_A5_ROTATED | A5 旋转工作表,210 - 148 毫米 | 
| DMPAPER_A5_TRANSVERSE | A5 横向 148 x 210 毫米 | 
| DMPAPER_A6 | A6 工作表,105- 148 毫米 | 
| DMPAPER_A6_ROTATED | A6 旋转工作表,148- 105 毫米 | 
| DMPAPER_A_PLUS | SuperA/A4 227 x 356 -millimeters | 
| DMPAPER_B4 | B4 工作表,250- 354 毫米 | 
| DMPAPER_B4_JIS_ROTATED | B4 (JIS) 旋转工作表, 364 - 257 毫米 | 
| DMPAPER_B5 | B5 纸,182- 到 257 毫米纸 | 
| DMPAPER_B5_EXTRA | B5 (ISO) 额外 201 x 276 毫米 | 
| DMPAPER_B5_JIS_ROTATED | B5 (JIS) 旋转工作表, 257 - 182 毫米 | 
| DMPAPER_B6_JIS | B6 (JIS) 工作表, 128 - 182 毫米 | 
| DMPAPER_B6_JIS_ROTATED | B6 (JIS) 旋转工作表, 182 - 128 毫米 | 
| DMPAPER_B_PLUS | SuperB/A3 305 x 487 毫米 | 
| DMPAPER_CSHEET | C 工作表,17- 22 英寸 | 
| DMPAPER_DBL_JAPANESE_POSTCARD | 双日本明信片, 200 - 148 毫米 | 
| DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED | 双日明信片旋转,148- 到 200 毫米 | 
| DMPAPER_DSHEET | D 工作表,22 - 34 英寸 | 
| DMPAPER_ENV_9 | #9 信封,3 7/8- 8 7/8 英寸 | 
| DMPAPER_ENV_10 | #10 信封,4 1/8- 9 1/2 英寸 | 
| DMPAPER_ENV_11 | #11 信封,4 1/2- 10 3/8 英寸 | 
| DMPAPER_ENV_12 | #12 信封,4 3/4- 11 英寸 | 
| DMPAPER_ENV_14 | #14 信封,5- 11 1/2 英寸 | 
| DMPAPER_ENV_C5 | C5 信封,162- 到 229 毫米 | 
| DMPAPER_ENV_C3 | C3 信封,324- 458 毫米 | 
| DMPAPER_ENV_C4 | C4 信封,229- 324 毫米 | 
| DMPAPER_ENV_C6 | C6 信封,114- 162 毫米 | 
| DMPAPER_ENV_C65 | C65 信封,114- 229 毫米 | 
| DMPAPER_ENV_B4 | B4 信封,250- 353 毫米 | 
| DMPAPER_ENV_B5 | B5 信封,176- 到 250 毫米 | 
| DMPAPER_ENV_B6 | B6 信封,176- 125 毫米 | 
| DMPAPER_ENV_DL | DL 信封,110 到 220 毫米 | 
| DMPAPER_ENV_INVITE | 信封邀请 220 x 220 mm | 
| DMPAPER_ENV_ITALY | 意大利信封,110- 230 毫米 | 
| DMPAPER_ENV_MONARCH | 君主信封,3 7/8- 7 1/2 英寸 | 
| DMPAPER_ENV_PERSONAL | 6 3/4 信封,3 5/8- 6 1/2 英寸 | 
| DMPAPER_ESHEET | E 工作表,34- 44 英寸 | 
| DMPAPER_EXECUTIVE | 高管,7 1/4- 10 1/2 英寸 | 
| DMPAPER_FANFOLD_US | 美国圣范福德, 14 7/8 - 11 英寸 | 
| DMPAPER_FANFOLD_STD_GERMAN | 德国圣范福尔德, 8 1/2 - 12 英寸 | 
| DMPAPER_FANFOLD_LGL_GERMAN | 德国法律范福德,8 - 13英寸 | 
| DMPAPER_FOLIO | Folio, 8 1/2 - 13 英寸纸 | 
| DMPAPER_ISO_B4 | B4 (ISO) 250 - 353 毫米纸张 | 
| DMPAPER_JAPANESE_POSTCARD | 日本明信片,100-148毫米 | 
| DMPAPER_JAPANESE_POSTCARD_ROTATED | 日本明信片旋转,148-100毫米 | 
| DMPAPER_JENV_CHOU3 | 日语信封 Chou #3 | 
| DMPAPER_JENV_CHOU3_ROTATED | 日本信封 Chou #3 旋转 | 
| DMPAPER_JENV_CHOU4 | 日语信封 Chou #4 | 
| DMPAPER_JENV_CHOU4_ROTATED | 日本信封 Chou #4 旋转 | 
| DMPAPER_JENV_KAKU2 | 日语信封 Kaku #2 | 
| DMPAPER_JENV_KAKU2_ROTATED | 日语信封 Kaku #2 旋转 | 
| DMPAPER_JENV_KAKU3 | 日语信封 Kaku #3 | 
| DMPAPER_JENV_KAKU3_ROTATED | 日语信封 Kaku #3 旋转 | 
| DMPAPER_JENV_YOU4 | 日语信封您 #4 | 
| DMPAPER_JENV_YOU4_ROTATED | 日语信封你 #4 旋转 | 
| DMPAPER_LAST | DMPAPER_PENV_10_ROTATED | 
| DMPAPER_LEDGER | 账本,17 英寸到 11 英寸 | 
| DMPAPER_LEGAL_EXTRA | 法定额外 9 1/2 x 15 英寸。 | 
| DMPAPER_LETTER_EXTRA | 字母额外 9 1/2 x 12 英寸。 | 
| DMPAPER_LETTER_EXTRA_TRANSVERSE | 字母 Extra Transverse 9 1/2 x 12 英寸。 | 
| DMPAPER_LETTER_ROTATED | 字母旋转 11 到 8 1/2 英寸 | 
| DMPAPER_LETTERSMALL | 小写字母,8 1/2- 11 英寸 | 
| DMPAPER_LETTER_TRANSVERSE | 字母横向 8 1/2 x 11 英寸 | 
| DMPAPER_NOTE | 注意,8 1/2 - 11 英寸 | 
| DMPAPER_P16K | 中国 16K, 146 - 215 毫米 | 
| DMPAPER_P16K_ROTATED | 中国 16K 旋转, 215 - 146 毫米 | 
| DMPAPER_P32K | 中国 32K, 97 - 151 毫米 | 
| DMPAPER_P32K_ROTATED | 中国 32K 旋转, 151 - 97 毫米 | 
| DMPAPER_P32KBIG | 中国 32K(大) 97 - 151 毫米 | 
| DMPAPER_P32KBIG_ROTATED | 中国32K(大)旋转,151-97毫米 | 
| DMPAPER_PENV_1 | 中国信封 #1, 102 - 165 毫米 | 
| DMPAPER_PENV_1_ROTATED | 中国信封 #1 旋转, 165 - 102 毫米 | 
| DMPAPER_PENV_2 | 中国信封 #2, 102 - 176 毫米 | 
| DMPAPER_PENV_2_ROTATED | 中国信封 #2 旋转, 176 - 102 毫米 | 
| DMPAPER_PENV_3 | 中国信封 #3, 125 - 176 毫米 | 
| DMPAPER_PENV_3_ROTATED | 中国信封 #3 旋转, 176 - 125 毫米 | 
| DMPAPER_PENV_4 | 中国信封 #4, 110 - 208 毫米 | 
| DMPAPER_PENV_4_ROTATED | 中国信封 #4 旋转, 208 - 110 毫米 | 
| DMPAPER_PENV_5 | 中国信封 #5, 110 - 220 毫米 | 
| DMPAPER_PENV_5_ROTATED | 中国信封 #5 旋转, 220 - 110 毫米 | 
| DMPAPER_PENV_6 | 中国信封 #6, 120 - 230 毫米 | 
| DMPAPER_PENV_6_ROTATED | 中国信封 #6 旋转, 230 - 120 毫米 | 
| DMPAPER_PENV_7 | 中国信封 #7, 160 - 230 毫米 | 
| DMPAPER_PENV_7_ROTATED | 中国信封 #7 旋转, 230 - 160 毫米 | 
| DMPAPER_PENV_8 | 中国信封 #8, 120 - 309 毫米 | 
| DMPAPER_PENV_8_ROTATED | 中国信封 #8 旋转, 309 - 120 毫米 | 
| DMPAPER_PENV_9 | 中国信封 #9, 229 - 324 毫米 | 
| DMPAPER_PENV_9_ROTATED | 中国信封 #9 旋转, 324 - 229 毫米 | 
| DMPAPER_PENV_10 | 中国信封 #10, 324 - 458 毫米 | 
| DMPAPER_PENV_10_ROTATED | 中国信封 #10 旋转, 458 - 324 毫米 | 
| DMPAPER_QUARTO | 夸托,215- 到 275 毫米的纸张 | 
| DMPAPER_STATEMENT | 语句,5 1/2 - 8 1/2 英寸 | 
| DMPAPER_TABLOID | 小报, 11 - 17 英寸 | 
| DMPAPER_TABLOID_EXTRA | Tabloid,11.69 x 18 英寸 | 
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmPaperLength
对于打印机设备,请覆盖由 dmPaperSize 成员指定的纸张长度,无论是针对自定义纸张大小,还是对于可以在任意长度的页面上打印的点矩阵打印机等设备。 这些值以及此结构中指定物理长度的所有其他值以十分之几毫米为单位。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmPaperWidth
仅对于打印机设备,将覆盖由 dmPaperSize 成员指定的纸张宽度。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmScale
指定要缩放打印输出的因子。 明显的页面大小按 dmScale /100 的系数从物理页面大小缩放。 例如,dmScale 值为 50 的字母大小的页面将包含与 17 英寸到 22 英寸页一样多的数据,因为输出文本和图形是其原始高度和宽度的一半。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmCopies
如果设备支持多页副本,请选择打印的副本数。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmDefaultSource
指定纸张源。 若要检索打印机的可用纸张源列表,请使用具有DC_BINS标志的 DeviceCapabilities 函数。
此成员可以是以下值之一,也可以是设备特定的值,该值大于或等于DMBIN_USER。
DUMMYUNIONNAME.DUMMYSTRUCTNAME.dmPrintQuality
指定打印机分辨率。 有四个与设备无关的预定义值:
如果指定了正值,则指定每英寸点数(DPI),因此依赖于设备。
DUMMYUNIONNAME.dmPosition
DUMMYUNIONNAME.DUMMYSTRUCTNAME2
DUMMYUNIONNAME.DUMMYSTRUCTNAME2.dmPosition
仅对于显示设备,POINTL 结构,该结构指示显示设备在对桌面区域的引用中的位置坐标。 主显示设备始终位于坐标(0,0)。
DUMMYUNIONNAME.DUMMYSTRUCTNAME2.dmDisplayOrientation
对于仅显示设备,应显示图像的方向。 如果未设置DM_DISPLAYORIENTATION,则此成员必须为零。 如果设置了DM_DISPLAYORIENTATION,则此成员必须是以下值之一
| 价值 | 意义 | 
|---|---|
| DMDO_DEFAULT | 显示方向是显示设备的自然方向;它应用作默认值。 | 
| DMDO_90 | 显示方向从DMDO_DEFAULT旋转 90 度(测量的逆时针)。 | 
| DMDO_180 | 显示方向从DMDO_DEFAULT旋转 180 度(测量的逆时针)。 | 
| DMDO_270 | 显示方向从DMDO_DEFAULT旋转 270 度(测量的逆时针)。 | 
若要确定显示方向是纵向还是横向方向,请检查 dmPelsWidth 与 dmPelsHeight的比例。
Windows 2000:不支持 。
DUMMYUNIONNAME.DUMMYSTRUCTNAME2.dmDisplayFixedOutput
仅对于固定分辨率显示设备,显示器在高分辨率显示器上如何呈现低分辨率模式。 例如,如果显示设备的分辨率固定在 1024 x 768 像素,但其模式设置为 640 x 480 像素,则设备可以在 1024 x 768 屏幕空间的内部某处显示 640 x 480 图像,或者拉伸 640 x 480 图像以填充更大的屏幕空间。 如果未设置DM_DISPLAYFIXEDOUTPUT,则此成员必须为零。 如果设置了DM_DISPLAYFIXEDOUTPUT,则此成员必须是以下值之一。
| 价值 | 意义 | 
|---|---|
| DMDFO_DEFAULT | 显示的默认设置。 | 
| DMDFO_CENTER | 低分辨率图像以较大的屏幕空间居中。 | 
| DMDFO_STRETCH | 低分辨率图像拉伸以填充更大的屏幕空间。 | 
Windows 2000:不支持 。
dmColor
在颜色打印机上切换颜色和单色。 以下是可能的值:
- DMCOLOR_COLOR
- DMCOLOR_MONOCHROME
dmDuplex
为能够双面打印的打印机选择双面打印或双面打印。 下面是可能的值。
| 价值 | 意义 | 
|---|---|
| DMDUP_SIMPLEX | 普通(非多路)打印。 | 
| DMDUP_HORIZONTAL | 短边缘绑定,即页面的长边缘是水平。 | 
| DMDUP_VERTICAL | 长边缘绑定,即页面的长边缘是垂直的。 | 
dmYResolution
指定打印机的 y 分辨率(以每英寸点为单位)。 如果打印机初始化此成员,则 dmPrintQuality 成员指定打印机的 x 分辨率(以点/英寸为单位)。
dmTTOption
指定应如何打印 TrueType 字体。 此成员可以是以下值之一。
| 价值 | 意义 | 
|---|---|
| DMTT_BITMAP | 将 TrueType 字体打印为图形。 这是点矩阵打印机的默认操作。 | 
| DMTT_DOWNLOAD | 将 TrueType 字体下载为软字体。 这是使用打印机控制语言(PCL)的 Hewlett-Packard 打印机的默认操作。 | 
| DMTT_DOWNLOAD_OUTLINE | 下载 TrueType 字体作为轮廓软字体。 | 
| DMTT_SUBDEV | 将设备字体替换为 TrueType 字体。 这是 PostScript 打印机的默认操作。 | 
dmCollate
指定打印多个副本时是否应使用排序规则。 (除非打印机驱动程序通过将 dmFields 成员设置为DM_COLLATE来指示对排序规则的支持,否则将忽略此成员。此成员可以是以下值之一。
| 价值 | 意义 | 
|---|---|
| DMCOLLATE_TRUE | 打印多个副本时进行排序。 | 
| DMCOLLATE_FALSE | 打印多个副本时不要进行排序。 | 
dmFormName[CCHFORMNAME]
一个零终止字符数组,指定要使用的窗体的名称;例如,“Letter”或“Legal”。 可以使用 EnumForms 函数检索完整的名称集。
dmLogPixels
每个逻辑英寸的像素数。 打印机驱动程序不使用此成员。
dmBitsPerPel
指定显示设备的颜色分辨率(例如:4 位,16 种颜色,8 位,256 种颜色)或 16 位(65,536 种颜色)。 显示驱动程序使用此成员,例如,在 ChangeDisplaySettings 函数中。 打印机驱动程序不使用此成员。
dmPelsWidth
指定可见设备图面的宽度(以像素为单位)。 显示驱动程序使用此成员,例如,在 ChangeDisplaySettings 函数中。 打印机驱动程序不使用此成员。
dmPelsHeight
指定可见设备图面的高度(以像素为单位)。 显示驱动程序使用此成员,例如,在 ChangeDisplaySettings 函数中。 打印机驱动程序不使用此成员。
DUMMYUNIONNAME2
DUMMYUNIONNAME2.dmDisplayFlags
指定设备的显示模式。 此成员可以是以下值的组合。
| 价值 | 意义 | 
|---|---|
| DM_GRAYSCALE | 指定显示器是非彩色设备。 如果未设置此标志,则假定颜色。 此标志不再有效。 | 
| DM_INTERLACED | 指定显示模式交错。 如果未设置标志,则假定为非交错。 | 
显示驱动程序使用此成员,例如,在 ChangeDisplaySettings 函数中。 打印机驱动程序不使用此成员。
DUMMYUNIONNAME2.dmNup
指定 NUP 的完成位置。 它可以是下列项之一。
| 价值 | 意义 | 
|---|---|
| DMNUP_SYSTEM | 打印后台处理程序执行 NUP。 | 
| DMNUP_ONEUP | 应用程序执行 NUP。 | 
dmDisplayFrequency
指定特定模式下显示设备的频率(每秒周期数)。 此值也称为显示设备的垂直刷新速率。 显示驱动程序使用此成员。 例如,它在 ChangeDisplaySettings 函数中使用。 打印机驱动程序不使用此成员。
调用 EnumDisplaySettings 函数时,dmDisplayFrequency 成员可能会返回值为 0 或 1。 这些值表示显示硬件的默认刷新速率。 此默认速率通常由显示卡或计算机主板上的开关或不使用显示功能(如 ChangeDisplaySettings)的配置程序设置。
dmICMMethod
指定如何处理 ICM。 对于非 ICM 应用程序,此成员确定 ICM 是启用或禁用的。 对于 ICM 应用程序,系统将检查此成员以确定如何处理 ICM 支持。 此成员可以是以下预定义值之一,也可以是大于或等于DMICMMETHOD_USER值的驱动程序定义值之一。
| 价值 | 意义 | 
|---|---|
| DMICMMETHOD_NONE | 指定 ICM 已禁用。 | 
| DMICMMETHOD_SYSTEM | 指定 ICM 由 Windows 处理。 | 
| DMICMMETHOD_DRIVER | 指定 ICM 由设备驱动程序处理。 | 
| DMICMMETHOD_DEVICE | 指定目标设备处理 ICM。 | 
打印机驱动程序必须提供用于设置此成员的用户界面。 大多数打印机驱动程序仅支持DMICMMETHOD_SYSTEM或DMICMMETHOD_NONE值。 PostScript 打印机的驱动程序支持所有值。
dmICMIntent
指定默认应使用哪种颜色匹配方法或意向。 此成员主要用于非 ICM 应用程序。 ICM 应用程序可以使用 ICM 函数建立意向。 此成员可以是以下预定义值之一,或者驱动程序定义的值大于或等于DMICM_USER的值。
| 价值 | 意义 | 
|---|---|
| DMICM_ABS_COLORIMETRIC | 颜色匹配应进行优化,以匹配未进行白点映射所请求的确切颜色。 此值最适合用于校对。 | 
| DMICM_COLORIMETRIC | 颜色匹配应进行优化以匹配所请求的确切颜色。 当需要精确颜色匹配时,此值最适合用于业务徽标或其他图像。 | 
| DMICM_CONTRAST | 颜色匹配应针对颜色对比度进行优化。 此值是所需的扫描图像或摄影图像的最合适的选择。 | 
| DMICM_SATURATE | 颜色匹配应针对颜色饱和度进行优化。 如果不需要,此值是业务关系图的最合适的选择。 | 
dmMediaType
指定要打印的介质的类型。 该成员可以是以下预定义值之一,也可以是大于或等于DMMEDIA_USER值的驱动程序定义值。
| 价值 | 意义 | 
|---|---|
| DMMEDIA_STANDARD | 纯纸。 | 
| DMMEDIA_GLOSSY | 光泽的纸张。 | 
| DMMEDIA_TRANSPARENCY | 透明胶片。 | 
若要检索打印机可用媒体类型的列表,请使用具有DC_MEDIATYPES标志的 DeviceCapabilities 函数。
dmDitherType
指定如何执行任用。 该成员可以是以下预定义值之一,也可以是大于或等于DMDITHER_USER值的驱动程序定义值之一。
| 价值 | 意义 | 
|---|---|
| DMDITHER_NONE | 没有打盹。 | 
| DMDITHER_COARSE | 用粗糙的画笔进行抖变。 | 
| DMDITHER_FINE | 用细画笔打碎。 | 
| DMDITHER_LINEART | 线条艺术打折,这是一种特殊的划线方法,用于在黑色、白色和灰色缩放之间产生明确定义的边框。 它不适合图像,包括连续毕业的强度和色调,如扫描的照片。 | 
| DMDITHER_GRAYSCALE | 设备执行灰色缩放。 | 
dmReserved1
未使用;必须为零。
dmReserved2
未使用;必须为零。
dmPanningWidth
此成员必须为零。
dmPanningHeight
此成员必须为零。
言论
设备驱动程序的专用数据遵循 DEVMODE 结构的公共部分。 公共数据的大小可能因结构的不同版本而异。 dmSize 成员指定公共数据的字节数,dmDriverExtra 成员指定专用数据的字节数。
注意
wingdi.h 标头将 DEVMODE 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 
要求
| 要求 | 价值 | 
|---|---|
| 最低支持的客户端 | Windows 2000 Professional [仅限桌面应用] | 
| 支持的最低服务器 | Windows 2000 Server [仅限桌面应用] | 
| 标头 | wingdi.h (包括 Windows.h) |