### 函数功能

该函数检索指定设备的设备指定信息。

### 函数原型

int GetDeviceCaps(HDC hdc, int nlndex)；

### 参数

hdc：设备上下文环境的句柄。
nIndex：指定返回项，该参数取下列一值。
DRIVERVERSION：设备驱动程序版本。
TECHNOLOGY：设备技术，它可以是下列一值：
DT_PLOTTER：矢量绘图仪；DT_RASDISPLAY：光栅显示器；
DT_RASPRINTER：光栅打印机；DT_RASCAMERA：光栅照相机；
DT_CHARSTREAM：字符流；DT_METAFILE：图元文件；
DT_DISPFILE：显示器文件。
如果hdc参数指定图元文件的设备上下文环境，则设备技术就是给CreateEnhMetaFile函数的引用设备，使用GetObjectType函数可以确定它是否是一增强元文件设备上下文环境。
HORZSIZE：物理屏幕的宽度（毫米）；VERTSIZE：物理屏幕的高度（毫米）；HORZRES：屏幕的宽度（像素）；
VERTRES：屏幕的高度（光栅线）；
LOGPIXELSX：沿屏幕宽度每逻辑英寸的像素数，在多显示器系统中，该值对所显示器相同；
LOGPIXELSY：沿屏幕高度每逻辑英寸的像素数，在多显示器系统中，该值对所显示器相同；
BITSPIXEL：像素相连颜色位数；PLANES：颜色位面数；NUMBRUSHES：设备指定同画笔数；
NUMPENS：设备指定笔数；NUMFONTS：设备指定字体数；
NUMCOLORS：设备颜色表的入口数，如果设备的色深不超过8位像素。对于超过色深的设备返回－1；
ASPECTX：用于画线的设备像素的相对宽度；ASPECTY：用于画线的设备像素的相对高度；
ASPECTXY：用于画线的设备像素的对角线宽度；PDEVLCESIZE：保留；
CLIDCAPS：显示设备支持剪切性能的标志。如果设备可剪切为一个长方形，则为1，否则为0；
SIZEPALETTE：系统调色板中的入口数目，只有在设备驱动器在RASTERCAPS索引中设置RC PALETFE位时该索引值才是有效的。且该索引值只能用于16位Windows的驱动器；
NUMRESERVED：系统调色板中保留的入口数目，只有在设备驱动器在RASTERLAP索引中设置RC PALETFE位时，该索引值才是有效的且该索引值只有能于16位的Windows驱动器；
COLORRES：实际位像的实际设备颜色，只有设备驱动器在RASTERLAP索引中设置RCPALETFE位时，该索引值才是有效的且该索引值只能用于16位的Windows驱动器；
PHYSICALWIDTH：对于打印设备，为以设备单位的物理页面宽度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单位宽度值为5100，注意物理页面总是大于可打印的页面面积，且从不小于；
PHPSICALHEIGHT：为以设备单位的物理页面宽度。例如一个在8.5*11纸上设置为600dpi的打印机的设备物理单位高度值为6600；
PHYSICALOFFSETX：对于打印设备，从物理页面左边到打印页面右边的距离，例如，一个在8.5*11纸上设置为600dpi的打印机，不能在超出左边0.25处打印，且有一个150备单位的水平物理位移；
PHYSICALOFFSETY；对于打印设备。从物理页面上面到打印页面上边的距离。例如一个在8.5*11打印纸上设置为的打印机，不能在超出上边的地方打处，且有一个设备单位的物理位移；
VREFRESH：Windows NT：对于显示设备。设备的当前垂直刷新率以每秒中的循环次数为单位0或1刷新率代表显示硬件的缺省刷新率，此缺省刷新率通常通过设置显卡或主板的跳线来改变，或通过一个不使用Win32显示函数比如ChangeDisplay Setting的一个配置程序来设置；
DESKTOPHORZRES：Windows NT：可视桌面的以像素为单位的宽度。如果设备支持一个可视桌面或双重显示则此值可能大于VERTRES；
SCALINGFACTORX：打印机x轴的比例系数；SCALINGFACTORY：打印机y轴的比例系数。
BLTALIGNMENT：在Windows NT中作为像素倍数的水平绘图调整，对于最好的绘图操作，窗口绘图应该是水平调整到此值的倍数。0显示设备为加速的，且可用任何调整。
SHADEBLENDCAPS：在Windows 98、Windows NT 5.0和以后版本中此值显示设备的阴影和混合特性。
SB_CONST_ALPHA：处理BLENDFUNCTION结构中的Source constantAlpha元素，并通过AlphaBlend数中的blendFunction参数来指定；
SB_GRAD_RECT：进行Gradientfill矩形填充的能力。SB_GRAD_TRI；进行Gradientfill三角形填充的能力；
SB_NONE：设备不支持这些特性中的任何一个。SB_PIXEL_ALPHA：处理AlphaBlond中每一个像素Alphx；
SB_PREMULT_ALPHA：在Alphablend中对alpha进行预乘；
RASTERCAPS：设备所支持的光栅性能，可以是下列值的某种组合；
RC_BANDING：需要联合支持。RC_BITBLT：支持传送位图。
RC_BITMAP64：支持大于64K的位图。RC_DI_BITMAP：支持SetDIBits和GetDIBits函数。
RC_DIBTODEV：支持SetDIBits To Device函数；RC_FLOODFILL：支持连续填充
RC_GDI20_OUTPUT：支持16位Windows 2.0特征；RC_PALETTE：指定一个基于调色板的设备。
RC_SCALING：支持缩放；RC_STRETCHBLT：支持StretchBlt函数。
RC_STRETCHDIB：stretchDIBits函数。
CURVECAPS：显示设备所支持的曲线性能，可以是下列值的某种组合。
CC_NONE：不支持绘制曲线；CC_CHORD：支持绘制弦；CC_CIRCLES：支持绘制圆。
CC_ELLIPSES：支持绘制椭圆；CC_INTERIORS：支持内部填充；CC_PIE：支持绘制扇形图。
CC_ROUNDRECT：支持绘制圆角矩形；CC_STYLED：支持绘制带风格的边界。
CC_WIDE：支持绘制宽的边界；CC_WIDESTYLED：支持绘制宽的、带风格的边界。
LINECAPS设备所支持的画线性能，可以是下列值的某种组合：
LC_NONE：不支持绘制线段；LC_INTERIORS：支持内部填充；LC_MARKER：支持绘制标记符。
LC_POLYLINE：支持折线；LC_POLYMARKER：支持多种标记符；LC_STYLED：带风格的线段。
LC_WIDE：支持画宽线；LC_WIDESTYLED：支持宽的带风格的线段。
POLYGONALCAPS设有所支持的多边形性能。可以是下列值的某种组合。
PC_NONE：不支持绘制多边形；PC_INTERIORS：支持内部填充；PC_POLYGON：支持绘制间隔式填充多边形。
PC_RECTANGLE：支持绘制矩形；PC_SCANLINE：支持绘制扫描线；PC_STYLED：支持绘制带风格的边界。
PC_WIDE：支持绘制宽边界；PC_WIDESTYLED：支持绘制宽的带风格的边界。
PC_WINDPOLYGON：支持绘制折线式填充多边形。
TEXTCAPS设备所支持的文字性能，可以是下列值的某种组合：
TC_OP_CHARACTER：支持字符输出精度；TC_OP_STROKE：支持笔画输出精度。
TC_CP_STROKE：支持笔画剪切精度；TC_CR_90：支持字符作90度旋转；
TC_CR_ANY：支持字符作任意角度旋转；TC_SF_X_YINDEP：支持x和y方向的独立缩放。
TC_SA_DOUBLE：支持把字符放大一倍；TC_SA_INTEGER：支持整数倍缩放。
TC_SA_CONTIN：支持以任何倍数的严格缩放；TC_EA_DOUBLE：支持字符加重。
TC_IA_ABLE：支持斜字体；TC_UA_ABLE：支持下划线；TC_SO_ABLE：支持删除线。
TC_RA_ABLE：支持光栅字体；TC_VA_ABLE：支持矢量字体；TC_RESERVED：保留、必须为零。
TC_SCROLLBLT：不支持用位快传递来滚动，注意这可能事与愿违。

### 返回值

返回值指定所需项目的值。
注释：GetDeviceCaps提供下列六个索引以代替打印机消失。
PHYSICALWIDTH GETPHYSPAGESIZE; PHYSICALHEIGHT GETPHYSPAGESIZE
PHYSICALOFFSETX GETPRINTINGOFFSET;
PHYSICALOFFSETY GETPHYSICALOFFSET;
SCALINGFACTORX GETSCALINGFACTOR;
SCALINGFACTORY GETSCALINGFACTOR;
Windows CE：Windows CE不支持nIndex参数取下列值：
VREFRESH; DESKTOPHORZRES; DESKTOPVERTRES;BLTALIGNMENT
Windows CE 1.0不支持nIndex参数取下列值：
PHYSICALWIDTH; PHYSICALHEIGHT; PHYSICALOFFSETX; PHYSICALOFFSETY

### 速查

Windows NT：3.1及以上版本；Windows：95及以上版本；Windows CE：1.0及以上版本；头文件：wingdi.h；库文件：gdi32.lib。