ReactOS 0.4.16-dev-287-g2d3f3a1
winddi.h File Reference
#include <ddrawint.h>
#include <d3dnthal.h>
#include <specstrings.h>
Include dependency graph for winddi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _GUID
 
struct  _POINTE
 
union  _FLOAT_LONG
 
struct  _POINTFIX
 
struct  _RECTFX
 
struct  _POINTQF
 
struct  _BLENDOBJ
 
struct  _BRUSHOBJ
 
struct  _CIECHROMA
 
struct  _RUN
 
struct  _CLIPLINE
 
struct  _CLIPOBJ
 
struct  _COLORINFO
 
struct  _DEVHTINFO
 
struct  _DEVHTADJDATA
 
struct  _DEVINFO
 
struct  _DRIVEROBJ
 
struct  _DRVFN
 
struct  tagDRVENABLEDATA
 
struct  EMFINFO
 
struct  _ENGSAFESEMAPHORE
 
struct  _ENG_TIME_FIELDS
 
struct  _ENUMRECTS
 
struct  _FD_XFORM
 
struct  _FD_DEVICEMETRICS
 
struct  _FD_GLYPHATTR
 
struct  _WCRUN
 
struct  _FD_GLYPHSET
 
struct  _FD_KERNINGPAIR
 
struct  _LIGATURE
 
struct  _FD_LIGATURE
 
struct  tagFLOATOBJ_XFORM
 
struct  _FONTDIFF
 
struct  _FONTSIM
 
struct  _FONTINFO
 
struct  _FONTOBJ
 
struct  _GAMMARAMP
 
struct  _GDIINFO
 
struct  _PATHDATA
 
struct  _PATHOBJ
 
struct  _GLYPHBITS
 
union  _GLYPHDEF
 
struct  _GLYPHPOS
 
struct  _GLYPHDATA
 
struct  _IFIEXTRA
 
struct  _IFIMETRICS
 
struct  _LINEATTRS
 
struct  _PALOBJ
 
struct  _PERBANDINFO
 
struct  _STROBJ
 
struct  _SURFOBJ
 
struct  _TYPE1_FONT
 
struct  _WNDOBJ
 
struct  _XFORML
 
struct  _XFORMOBJ
 
struct  _XLATEOBJ
 
struct  _DRH_APIBITMAPDATA
 
struct  tagCDDDXGK_REDIRBITMAPPRESENTINFO
 

Macros

#define DECLSPEC_IMPORT   __attribute__((dllimport))
 
#define ENGAPI   DECLSPEC_IMPORT
 
#define EXTERN_C   extern
 
#define __EXTERN_C
 
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)    EXTERN_C const GUID FAR name
 
#define DEFINE_GUIDEX(name)   EXTERN_C const CDECL GUID name
 
#define STATICGUIDOF(guid)   STATIC_##guid
 
#define GUID_DEFINED
 
#define IsEqualGUID(guid1, guid2)    (!memcmp((guid1), (guid2), sizeof(GUID)))
 
#define IsEqualIID   IsEqualGUID
 
#define DDI_DRIVER_VERSION_NT4   0x00020000
 
#define DDI_DRIVER_VERSION_SP3   0x00020003
 
#define DDI_DRIVER_VERSION_NT5   0x00030000
 
#define DDI_DRIVER_VERSION_NT5_01   0x00030100
 
#define DDI_DRIVER_VERSION_NT5_01_SP1   0x00030101
 
#define GDI_DRIVER_VERSION   0x4000
 
#define OPENGL_CMD   4352
 
#define OPENGL_GETINFO   4353
 
#define WNDOBJ_SETUP   4354
 
#define FD_ERROR   0xFFFFFFFF
 
#define DDI_ERROR   0xFFFFFFFF
 
#define HFF_INVALID   ((HFF) 0)
 
#define HFC_INVALID   ((HFC) 0)
 
#define HGLYPH_INVALID   ((HGLYPH) -1)
 
#define FP_ALTERNATEMODE   1
 
#define FP_WINDINGMODE   2
 
#define DN_ACCELERATION_LEVEL   1
 
#define DN_DEVICE_ORIGIN   2
 
#define DN_SLEEP_MODE   3
 
#define DN_DRAWING_BEGIN   4
 
#define DN_ASSOCIATE_WINDOW   5
 
#define DN_COMPOSITION_CHANGED   6
 
#define DN_DRAWING_BEGIN_APIBITMAP   7
 
#define DN_SURFOBJ_DESTRUCTION   8
 
#define SGI_EXTRASPACE   0
 
#define DCR_SOLID   0
 
#define DCR_DRIVER   1
 
#define DCR_HALFTONE   2
 
#define GX_IDENTITY   0
 
#define GX_OFFSET   1
 
#define GX_SCALE   2
 
#define GX_GENERAL   3
 
#define LTOFX(x)   ((x) << 4)
 
#define FXTOL(x)   ((x) >> 4)
 
#define FXTOLFLOOR(x)   ((x) >> 4)
 
#define FXTOLCEILING(x)   ((x + 0x0F) >> 4)
 
#define FXTOLROUND(x)   ((((x) >> 3) + 1) >> 1)
 
#define SIZEOFDV(cAxes)   (offsetof(DESIGNVECTOR, dvValues) + (cAxes) * sizeof(LONG))
 
#define SIZEOFAXIW(cAxes)   (offsetof(AXESLISTW, axlAxisInfo) + (cAxes) * sizeof(AXISINFOW))
 
#define SIZEOFAXIA(cAxes)   (offsetof(AXESLISTA, axlAxisInfo) + (cAxes) * sizeof(AXISINFOA))
 
#define BR_DEVICE_ICM   0x01
 
#define BR_HOST_ICM   0x02
 
#define BR_CMYKCOLOR   0x04
 
#define BR_ORIGCOLOR   0x08
 
#define DC_TRIVIAL   0
 
#define DC_RECT   1
 
#define DC_COMPLEX   3
 
#define FC_RECT   1
 
#define FC_RECT4   2
 
#define FC_COMPLEX   3
 
#define TC_RECTANGLES   0
 
#define TC_PATHOBJ   2
 
#define OC_BANK_CLIP   1
 
#define DEVHTADJF_COLOR_DEVICE   0x00000001
 
#define DEVHTADJF_ADDITIVE_DEVICE   0x00000002
 
#define GCAPS_BEZIERS   0x00000001
 
#define GCAPS_GEOMETRICWIDE   0x00000002
 
#define GCAPS_ALTERNATEFILL   0x00000004
 
#define GCAPS_WINDINGFILL   0x00000008
 
#define GCAPS_HALFTONE   0x00000010
 
#define GCAPS_COLOR_DITHER   0x00000020
 
#define GCAPS_HORIZSTRIKE   0x00000040
 
#define GCAPS_VERTSTRIKE   0x00000080
 
#define GCAPS_OPAQUERECT   0x00000100
 
#define GCAPS_VECTORFONT   0x00000200
 
#define GCAPS_MONO_DITHER   0x00000400
 
#define GCAPS_ASYNCCHANGE   0x00000800
 
#define GCAPS_ASYNCMOVE   0x00001000
 
#define GCAPS_DONTJOURNAL   0x00002000
 
#define GCAPS_DIRECTDRAW   0x00004000
 
#define GCAPS_ARBRUSHOPAQUE   0x00008000
 
#define GCAPS_PANNING   0x00010000
 
#define GCAPS_HIGHRESTEXT   0x00040000
 
#define GCAPS_PALMANAGED   0x00080000
 
#define GCAPS_DITHERONREALIZE   0x00200000
 
#define GCAPS_NO64BITMEMACCESS   0x00400000
 
#define GCAPS_FORCEDITHER   0x00800000
 
#define GCAPS_GRAY16   0x01000000
 
#define GCAPS_ICM   0x02000000
 
#define GCAPS_CMYKCOLOR   0x04000000
 
#define GCAPS_LAYERED   0x08000000
 
#define GCAPS_ARBRUSHTEXT   0x10000000
 
#define GCAPS_SCREENPRECISION   0x20000000
 
#define GCAPS_FONT_RASTERIZER   0x40000000
 
#define GCAPS_NUP   0x80000000
 
#define BMF_1BPP   1L
 
#define BMF_4BPP   2L
 
#define BMF_8BPP   3L
 
#define BMF_16BPP   4L
 
#define BMF_24BPP   5L
 
#define BMF_32BPP   6L
 
#define BMF_4RLE   7L
 
#define BMF_8RLE   8L
 
#define BMF_JPEG   9L
 
#define BMF_PNG   10L
 
#define GCAPS2_JPEGSRC   0x00000001
 
#define GCAPS2_xxxx   0x00000002
 
#define GCAPS2_PNGSRC   0x00000008
 
#define GCAPS2_CHANGEGAMMARAMP   0x00000010
 
#define GCAPS2_ALPHACURSOR   0x00000020
 
#define GCAPS2_SYNCFLUSH   0x00000040
 
#define GCAPS2_SYNCTIMER   0x00000080
 
#define GCAPS2_ICD_MULTIMON   0x00000100
 
#define GCAPS2_MOUSETRAILS   0x00000200
 
#define GCAPS2_RESERVED1   0x00000400
 
#define GCAPS2_EXCLUDELAYERED   0x00000800
 
#define GCAPS2_INCLUDEAPIBITMAPS   0x00001000
 
#define GCAPS2_SHOWHIDDENPOINTER   0x00002000
 
#define GCAPS2_CLEARTYPE   0x00004000
 
#define GCAPS2_ACC_DRIVER   0x00008000
 
#define INDEX_DrvEnablePDEV   0L
 
#define INDEX_DrvCompletePDEV   1L
 
#define INDEX_DrvDisablePDEV   2L
 
#define INDEX_DrvEnableSurface   3L
 
#define INDEX_DrvDisableSurface   4L
 
#define INDEX_DrvAssertMode   5L
 
#define INDEX_DrvOffset   6L
 
#define INDEX_DrvResetPDEV   7L
 
#define INDEX_DrvDisableDriver   8L
 
#define INDEX_DrvUnknown1   9L
 
#define INDEX_DrvCreateDeviceBitmap   10L
 
#define INDEX_DrvDeleteDeviceBitmap   11L
 
#define INDEX_DrvRealizeBrush   12L
 
#define INDEX_DrvDitherColor   13L
 
#define INDEX_DrvStrokePath   14L
 
#define INDEX_DrvFillPath   15L
 
#define INDEX_DrvStrokeAndFillPath   16L
 
#define INDEX_DrvPaint   17L
 
#define INDEX_DrvBitBlt   18L
 
#define INDEX_DrvCopyBits   19L
 
#define INDEX_DrvStretchBlt   20L
 
#define INDEX_DrvUnknown2   21L
 
#define INDEX_DrvSetPalette   22L
 
#define INDEX_DrvTextOut   23L
 
#define INDEX_DrvEscape   24L
 
#define INDEX_DrvDrawEscape   25L
 
#define INDEX_DrvQueryFont   26L
 
#define INDEX_DrvQueryFontTree   27L
 
#define INDEX_DrvQueryFontData   28L
 
#define INDEX_DrvSetPointerShape   29L
 
#define INDEX_DrvMovePointer   30L
 
#define INDEX_DrvLineTo   31L
 
#define INDEX_DrvSendPage   32L
 
#define INDEX_DrvStartPage   33L
 
#define INDEX_DrvEndDoc   34L
 
#define INDEX_DrvStartDoc   35L
 
#define INDEX_DrvUnknown3   36L
 
#define INDEX_DrvGetGlyphMode   37L
 
#define INDEX_DrvSynchronize   38L
 
#define INDEX_DrvUnknown4   39L
 
#define INDEX_DrvSaveScreenBits   40L
 
#define INDEX_DrvGetModes   41L
 
#define INDEX_DrvFree   42L
 
#define INDEX_DrvDestroyFont   43L
 
#define INDEX_DrvQueryFontCaps   44L
 
#define INDEX_DrvLoadFontFile   45L
 
#define INDEX_DrvUnloadFontFile   46L
 
#define INDEX_DrvFontManagement   47L
 
#define INDEX_DrvQueryTrueTypeTable   48L
 
#define INDEX_DrvQueryTrueTypeOutline   49L
 
#define INDEX_DrvGetTrueTypeFile   50L
 
#define INDEX_DrvQueryFontFile   51L
 
#define INDEX_DrvMovePanning   52L
 
#define INDEX_DrvQueryAdvanceWidths   53L
 
#define INDEX_DrvSetPixelFormat   54L
 
#define INDEX_DrvDescribePixelFormat   55L
 
#define INDEX_DrvSwapBuffers   56L
 
#define INDEX_DrvStartBanding   57L
 
#define INDEX_DrvNextBand   58L
 
#define INDEX_DrvGetDirectDrawInfo   59L
 
#define INDEX_DrvEnableDirectDraw   60L
 
#define INDEX_DrvDisableDirectDraw   61L
 
#define INDEX_DrvQuerySpoolType   62L
 
#define INDEX_DrvUnknown5   63L
 
#define INDEX_DrvIcmCreateColorTransform   64L
 
#define INDEX_DrvIcmDeleteColorTransform   65L
 
#define INDEX_DrvIcmCheckBitmapBits   66L
 
#define INDEX_DrvIcmSetDeviceGammaRamp   67L
 
#define INDEX_DrvGradientFill   68L
 
#define INDEX_DrvStretchBltROP   69L
 
#define INDEX_DrvPlgBlt   70L
 
#define INDEX_DrvAlphaBlend   71L
 
#define INDEX_DrvSynthesizeFont   72L
 
#define INDEX_DrvGetSynthesizedFontFiles   73L
 
#define INDEX_DrvTransparentBlt   74L
 
#define INDEX_DrvQueryPerBandInfo   75L
 
#define INDEX_DrvQueryDeviceSupport   76L
 
#define INDEX_DrvReserved1   77L
 
#define INDEX_DrvReserved2   78L
 
#define INDEX_DrvReserved3   79L
 
#define INDEX_DrvReserved4   80L
 
#define INDEX_DrvReserved5   81L
 
#define INDEX_DrvReserved6   82L
 
#define INDEX_DrvReserved7   83L
 
#define INDEX_DrvReserved8   84L
 
#define INDEX_DrvDeriveSurface   85L
 
#define INDEX_DrvQueryGlyphAttrs   86L
 
#define INDEX_DrvNotify   87L
 
#define INDEX_DrvSynchronizeSurface   88L
 
#define INDEX_DrvResetDevice   89L
 
#define INDEX_DrvReserved9   90L
 
#define INDEX_DrvReserved10   91L
 
#define INDEX_DrvReserved11   92L
 
#define INDEX_DrvRenderHint   93L
 
#define INDEX_DrvCreateDeviceBitmapEx   94L
 
#define INDEX_DrvDeleteDeviceBitmapEx   95L
 
#define INDEX_DrvAssociateSharedSurface   96L
 
#define INDEX_DrvSynchronizeRedirectionBitmaps   97L
 
#define INDEX_DrvAccumulateD3DDirtyRect   98L
 
#define INDEX_DrvStartDxInterop   99L
 
#define INDEX_DrvEndDxInterop   100L
 
#define INDEX_DrvLockDisplayArea   101L
 
#define INDEX_DrvUnlockDisplayArea   102L
 
#define INDEX_LAST   103L
 
#define DDI_DRIVER_VERSION_NT4   0x00020000
 
#define DDI_DRIVER_VERSION_SP3   0x00020003
 
#define DDI_DRIVER_VERSION_NT5   0x00030000
 
#define DDI_DRIVER_VERSION_NT5_01   0x00030100
 
#define DDI_DRIVER_VERSION_NT5_01_SP1   0x00030101
 
#define FF_SIGNATURE_VERIFIED   0x00000001L
 
#define FF_IGNORED_SIGNATURE   0x00000002L
 
#define FDM_TYPE_BM_SIDE_CONST   0x00000001
 
#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE   0x00000002
 
#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE   0x00000004
 
#define FDM_TYPE_ZERO_BEARINGS   0x00000008
 
#define FDM_TYPE_CONST_BEARINGS   0x00000010
 
#define FO_ATTR_MODE_ROTATE   1
 
#define GS_UNICODE_HANDLES   0x00000001
 
#define GS_8BIT_HANDLES   0x00000002
 
#define GS_16BIT_HANDLES   0x00000004
 
#define FM_SEL_ITALIC   0x0001
 
#define FM_SEL_UNDERSCORE   0x0002
 
#define FM_SEL_NEGATIVE   0x0004
 
#define FM_SEL_OUTLINED   0x0008
 
#define FM_SEL_STRIKEOUT   0x0010
 
#define FM_SEL_BOLD   0x0020
 
#define FM_SEL_REGULAR   0x0040
 
#define FO_DEVICE_FONT   1L
 
#define FO_OUTLINE_CAPABLE   2L
 
#define FO_TYPE_RASTER   RASTER_FONTTYPE
 
#define FO_TYPE_DEVICE   DEVICE_FONTTYPE
 
#define FO_TYPE_TRUETYPE   TRUETYPE_FONTTYPE
 
#define FO_TYPE_OPENTYPE   OPENTYPE_FONTTYPE
 
#define FO_SIM_BOLD   0x00002000
 
#define FO_SIM_ITALIC   0x00004000
 
#define FO_EM_HEIGHT   0x00008000
 
#define FO_GRAY16   0x00010000
 
#define FO_NOGRAY16   0x00020000
 
#define FO_NOHINTS   0x00040000
 
#define FO_NO_CHOICE   0x00080000
 
#define FO_CFF   0x00100000
 
#define FO_POSTSCRIPT   0x00200000
 
#define FO_MULTIPLEMASTER   0x00400000
 
#define FO_VERT_FACE   0x00800000
 
#define FO_DBCS_FONT   0X01000000
 
#define FO_NOCLEARTYPE   0x02000000
 
#define FO_CLEARTYPE_X   0x10000000
 
#define FO_CLEARTYPE_Y   0x20000000
 
#define FO_CLEARTYPENATURAL_X   0x40000000
 
#define FD_NEGATIVE_FONT   1L /* Obsolete in Windows 2000 and later */
 
#define FO_DEVICE_FONT   1L
 
#define FO_OUTLINE_CAPABLE   2L
 
#define PRIMARY_ORDER_ABC   0
 
#define PRIMARY_ORDER_ACB   1
 
#define PRIMARY_ORDER_BAC   2
 
#define PRIMARY_ORDER_BCA   3
 
#define PRIMARY_ORDER_CBA   4
 
#define PRIMARY_ORDER_CAB   5
 
#define HT_PATSIZE_2x2   0
 
#define HT_PATSIZE_2x2_M   1
 
#define HT_PATSIZE_4x4   2
 
#define HT_PATSIZE_4x4_M   3
 
#define HT_PATSIZE_6x6   4
 
#define HT_PATSIZE_6x6_M   5
 
#define HT_PATSIZE_8x8   6
 
#define HT_PATSIZE_8x8_M   7
 
#define HT_PATSIZE_10x10   8
 
#define HT_PATSIZE_10x10_M   9
 
#define HT_PATSIZE_12x12   10
 
#define HT_PATSIZE_12x12_M   11
 
#define HT_PATSIZE_14x14   12
 
#define HT_PATSIZE_14x14_M   13
 
#define HT_PATSIZE_16x16   14
 
#define HT_PATSIZE_16x16_M   15
 
#define HT_PATSIZE_SUPERCELL   16
 
#define HT_PATSIZE_SUPERCELL_M   17
 
#define HT_PATSIZE_USER   18
 
#define HT_PATSIZE_MAX_INDEX   HT_PATSIZE_USER
 
#define HT_PATSIZE_DEFAULT   HT_PATSIZE_SUPERCELL_M
 
#define HT_USERPAT_CX_MIN   4
 
#define HT_USERPAT_CX_MAX   256
 
#define HT_USERPAT_CY_MIN   4
 
#define HT_USERPAT_CY_MAX   256
 
#define HT_FORMAT_1BPP   0
 
#define HT_FORMAT_4BPP   2
 
#define HT_FORMAT_4BPP_IRGB   3
 
#define HT_FORMAT_8BPP   4
 
#define HT_FORMAT_16BPP   5
 
#define HT_FORMAT_24BPP   6
 
#define HT_FORMAT_32BPP   7
 
#define HT_FLAG_SQUARE_DEVICE_PEL   0x00000001
 
#define HT_FLAG_HAS_BLACK_DYE   0x00000002
 
#define HT_FLAG_ADDITIVE_PRIMS   0x00000004
 
#define HT_FLAG_USE_8BPP_BITMASK   0x00000008
 
#define HT_FLAG_INK_HIGH_ABSORPTION   0x00000010
 
#define HT_FLAG_INK_ABSORPTION_INDICES   0x00000060
 
#define HT_FLAG_DO_DEVCLR_XFORM   0x00000080
 
#define HT_FLAG_OUTPUT_CMY   0x00000100
 
#define HT_FLAG_PRINT_DRAFT_MODE   0x00000200
 
#define HT_FLAG_INVERT_8BPP_BITMASK_IDX   0x00000400
 
#define HT_FLAG_8BPP_CMY332_MASK   0xFF000000
 
#define MAKE_CMYMASK_BYTE(c, m, y)
 
#define MAKE_CMY332_MASK(c, m, y)
 
#define HT_FLAG_INK_ABSORPTION_IDX0   0x00000000
 
#define HT_FLAG_INK_ABSORPTION_IDX1   0x00000020
 
#define HT_FLAG_INK_ABSORPTION_IDX2   0x00000040
 
#define HT_FLAG_INK_ABSORPTION_IDX3   0x00000060
 
#define HT_FLAG_HIGHEST_INK_ABSORPTION
 
#define HT_FLAG_HIGHER_INK_ABSORPTION
 
#define HT_FLAG_HIGH_INK_ABSORPTION
 
#define HT_FLAG_NORMAL_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX0
 
#define HT_FLAG_LOW_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX1
 
#define HT_FLAG_LOWER_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX2
 
#define HT_FLAG_LOWEST_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX3
 
#define HT_BITMASKPALRGB   (DWORD)'0BGR'
 
#define HT_SET_BITMASKPAL2RGB(pPal)   (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)
 
#define HT_IS_BITMASKPALRGB(pPal)   (*((LPDWORD)(pPal)) == (DWORD)0)
 
#define PPC_DEFAULT   0x0
 
#define PPC_UNDEFINED   0x1
 
#define PPC_RGB_ORDER_VERTICAL_STRIPES   0x2
 
#define PPC_BGR_ORDER_VERTICAL_STRIPES   0x3
 
#define PPC_RGB_ORDER_HORIZONTAL_STRIPES   0x4
 
#define PPC_BGR_ORDER_HORIZONTAL_STRIPES   0x5
 
#define PPG_DEFAULT   0
 
#define PPG_SRGB   1
 
#define PD_BEGINSUBPATH   0x00000001
 
#define PD_ENDSUBPATH   0x00000002
 
#define PD_RESETSTYLE   0x00000004
 
#define PD_CLOSEFIGURE   0x00000008
 
#define PD_BEZIERS   0x00000010
 
#define PD_ALL
 
#define PO_BEZIERS   0x00000001
 
#define PO_ELLIPSE   0x00000002
 
#define PO_ALL_INTEGERS   0x00000004
 
#define PO_ENUM_AS_INTEGERS   0x00000008
 
#define PO_WIDENED   0x00000010
 
#define FM_VERSION_NUMBER   0x0
 
#define FM_TYPE_LICENSED   0x2
 
#define FM_READONLY_EMBED   0x4
 
#define FM_EDITABLE_EMBED   0x8
 
#define FM_NO_EMBEDDING   FM_TYPE_LICENSED
 
#define FM_INFO_TECH_TRUETYPE   0x00000001
 
#define FM_INFO_TECH_BITMAP   0x00000002
 
#define FM_INFO_TECH_STROKE   0x00000004
 
#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE   0x00000008
 
#define FM_INFO_ARB_XFORMS   0x00000010
 
#define FM_INFO_1BPP   0x00000020
 
#define FM_INFO_4BPP   0x00000040
 
#define FM_INFO_8BPP   0x00000080
 
#define FM_INFO_16BPP   0x00000100
 
#define FM_INFO_24BPP   0x00000200
 
#define FM_INFO_32BPP   0x00000400
 
#define FM_INFO_INTEGER_WIDTH   0x00000800
 
#define FM_INFO_CONSTANT_WIDTH   0x00001000
 
#define FM_INFO_NOT_CONTIGUOUS   0x00002000
 
#define FM_INFO_TECH_MM   0x00004000
 
#define FM_INFO_RETURNS_OUTLINES   0x00008000
 
#define FM_INFO_RETURNS_STROKES   0x00010000
 
#define FM_INFO_RETURNS_BITMAPS   0x00020000
 
#define FM_INFO_DSIG   0x00040000
 
#define FM_INFO_RIGHT_HANDED   0x00080000
 
#define FM_INFO_INTEGRAL_SCALING   0x00100000
 
#define FM_INFO_90DEGREE_ROTATIONS   0x00200000
 
#define FM_INFO_OPTICALLY_FIXED_PITCH   0x00400000
 
#define FM_INFO_DO_NOT_ENUMERATE   0x00800000
 
#define FM_INFO_ISOTROPIC_SCALING_ONLY   0x01000000
 
#define FM_INFO_ANISOTROPIC_SCALING_ONLY   0x02000000
 
#define FM_INFO_TECH_CFF   0x04000000
 
#define FM_INFO_FAMILY_EQUIV   0x08000000
 
#define FM_INFO_DBCS_FIXED_PITCH   0x10000000
 
#define FM_INFO_NONNEGATIVE_AC   0x20000000
 
#define FM_INFO_IGNORE_TC_RA_ABLE   0x40000000
 
#define FM_INFO_TECH_TYPE1   0x80000000
 
#define MAXCHARSETS   16 /* Obsolete in Windows 2000 and later */
 
#define FM_PANOSE_CULTURE_LATIN   0x0
 
#define LA_GEOMETRIC   0x00000001
 
#define LA_ALTERNATE   0x00000002
 
#define LA_STARTGAP   0x00000004
 
#define LA_STYLED   0x00000008
 
#define JOIN_ROUND   0L
 
#define JOIN_BEVEL   1L
 
#define JOIN_MITER   2L
 
#define ENDCAP_ROUND   0L
 
#define ENDCAP_SQUARE   1L
 
#define ENDCAP_BUTT   2L
 
#define SO_FLAG_DEFAULT_PLACEMENT   0x00000001
 
#define SO_HORIZONTAL   0x00000002
 
#define SO_VERTICAL   0x00000004
 
#define SO_REVERSED   0x00000008
 
#define SO_ZERO_BEARINGS   0x00000010
 
#define SO_CHAR_INC_EQUAL_BM_BASE   0x00000020
 
#define SO_MAXEXT_EQUAL_BM_SIDE   0x00000040
 
#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT   0x00000080
 
#define SO_GLYPHINDEX_TEXTOUT   0x00000100
 
#define SO_ESC_NOT_ORIENT   0x00000200
 
#define SO_DXDY   0x00000400
 
#define SO_CHARACTER_EXTRA   0x00000800
 
#define SO_BREAK_EXTRA   0x00001000
 
#define STYPE_BITMAP   0L
 
#define STYPE_DEVICE   1L
 
#define STYPE_DEVBITMAP   3L
 
#define BMF_TOPDOWN   0x0001
 
#define BMF_NOZEROINIT   0x0002
 
#define BMF_DONTCACHE   0x0004
 
#define BMF_USERMEM   0x0008
 
#define BMF_KMSECTION   0x0010
 
#define BMF_NOTSYSMEM   0x0020
 
#define BMF_WINDOW_BLT   0x0040
 
#define BMF_UMPDMEM   0x0080
 
#define BMF_TEMP_ALPHA   0x0100
 
#define BMF_ACC_NOTIFY   0x8000
 
#define BMF_RMT_ENTER   0x4000
 
#define BMF_RESERVED   0x3E00
 
#define XO_TRIVIAL   0x00000001
 
#define XO_TABLE   0x00000002
 
#define XO_TO_MONO   0x00000004
 
#define XO_FROM_CMYK   0x00000008
 
#define XO_DEVICE_ICM   0x00000010
 
#define XO_HOST_ICM   0x00000020
 
#define WOC_RGN_CLIENT_DELTA   0x00000001
 
#define WOC_RGN_CLIENT   0x00000002
 
#define WOC_RGN_SURFACE_DELTA   0x00000004
 
#define WOC_RGN_SURFACE   0x00000008
 
#define WOC_CHANGED   0x00000010
 
#define WOC_DELETE   0x00000020
 
#define WOC_DRAWN   0x00000040
 
#define WOC_SPRITE_OVERLAP   0x00000080
 
#define WOC_SPRITE_NO_OVERLAP   0x00000100
 
#define WOC_RGN_SPRITE   0x00000200
 
#define CT_RECTANGLES   0L
 
#define CD_RIGHTDOWN   0x00000000
 
#define CD_LEFTDOWN   0x00000001
 
#define CD_LEFTWARDS   0x00000001
 
#define CD_RIGHTUP   0x00000002
 
#define CD_UPWARDS   0x00000002
 
#define CD_LEFTUP   0x00000003
 
#define CD_ANY   0x00000004
 
#define FL_ZERO_MEMORY   0x00000001
 
#define FL_NONPAGED_MEMORY   0x00000002
 
#define FL_NON_SESSION   0x00000004
 
#define HOOK_BITBLT   0x00000001
 
#define HOOK_STRETCHBLT   0x00000002
 
#define HOOK_PLGBLT   0x00000004
 
#define HOOK_TEXTOUT   0x00000008
 
#define HOOK_PAINT   0x00000010
 
#define HOOK_STROKEPATH   0x00000020
 
#define HOOK_FILLPATH   0x00000040
 
#define HOOK_STROKEANDFILLPATH   0x00000080
 
#define HOOK_LINETO   0x00000100
 
#define HOOK_COPYBITS   0x00000400
 
#define HOOK_MOVEPANNING   0x00000800
 
#define HOOK_SYNCHRONIZE   0x00001000
 
#define HOOK_STRETCHBLTROP   0x00002000
 
#define HOOK_SYNCHRONIZEACCESS   0x00004000
 
#define HOOK_TRANSPARENTBLT   0x00008000
 
#define HOOK_ALPHABLEND   0x00010000
 
#define HOOK_GRADIENTFILL   0x00020000
 
#define HOOK_FLAGS   0x0003b5ef
 
#define ECS_TEARDOWN   0x00000001
 
#define ECS_REDRAW   0x00000002
 
#define PAL_INDEXED   0x00000001
 
#define PAL_BITFIELDS   0x00000002
 
#define PAL_RGB   0x00000004
 
#define PAL_BGR   0x00000008
 
#define PAL_CMYK   0x00000010
 
#define WO_RGN_CLIENT_DELTA   0x00000001
 
#define WO_RGN_CLIENT   0x00000002
 
#define WO_RGN_SURFACE_DELTA   0x00000004
 
#define WO_RGN_SURFACE   0x00000008
 
#define WO_RGN_UPDATE_ALL   0x00000010
 
#define WO_RGN_WINDOW   0x00000020
 
#define WO_DRAW_NOTIFY   0x00000040
 
#define WO_SPRITE_NOTIFY   0x00000080
 
#define WO_RGN_DESKTOP_COORD   0x00000100
 
#define WO_RGN_SPRITE   0x00000200
 
#define DM_DEFAULT   0x00000001
 
#define DM_MONOCHROME   0x00000002
 
#define ENG_FNT_CACHE_READ_FAULT   0x00000001
 
#define ENG_FNT_CACHE_WRITE_FAULT   0x00000002
 
#define EHN_RESTORED   0x00000000
 
#define EHN_ERROR   0x00000001
 
#define MS_NOTSYSTEMMEMORY   0x00000001
 
#define MS_SHAREDACCESS   0x00000002
 
#define MS_CDDDEVICEBITMAP   0x00000004
 
#define QSA_MMX   0x00000100
 
#define QSA_SSE   0x00002000
 
#define QSA_3DNOW   0x00004000
 
#define QSA_SSE1   QSA_SSE
 
#define QSA_SSE2   0x00010000
 
#define QSA_SSE3   0x00080000
 
#define FLOATOBJ_SetFloat(pf, f)   {*(pf) = (f);}
 
#define FLOATOBJ_SetLong(pf, l)   {*(pf) = (FLOAT)(l);}
 
#define FLOATOBJ_GetFloat(pf)   (*(PULONG)(pf))
 
#define FLOATOBJ_GetLong(pf)   ((LONG)*(pf))
 
#define FLOATOBJ_Add(pf, pf1)   {*(pf) += *(pf1);}
 
#define FLOATOBJ_AddFloat(pf, f)   {*(pf) += (f);}
 
#define FLOATOBJ_AddLong(pf, l)   {*(pf) += (l);}
 
#define FLOATOBJ_Sub(pf, pf1)   {*(pf) -= *(pf1);}
 
#define FLOATOBJ_SubFloat(pf, f)   {*(pf) -= (f);}
 
#define FLOATOBJ_SubLong(pf, l)   {*(pf) -= (l);}
 
#define FLOATOBJ_Mul(pf, pf1)   {*(pf) *= *(pf1);}
 
#define FLOATOBJ_MulFloat(pf, f)   {*(pf) *= (f);}
 
#define FLOATOBJ_MulLong(pf, l)   {*(pf) *= (l);}
 
#define FLOATOBJ_Div(pf, pf1)   {*(pf) /= *(pf1);}
 
#define FLOATOBJ_DivFloat(pf, f)   {*(pf) /= (f);}
 
#define FLOATOBJ_DivLong(pf, l)   {*(pf) /= (l);}
 
#define FLOATOBJ_Neg(pf)   {*(pf) = -(*(pf));}
 
#define FLOATOBJ_Equal(pf, pf1)   (*(pf) == *(pf1))
 
#define FLOATOBJ_GreaterThan(pf, pf1)   (*(pf) > *(pf1))
 
#define FLOATOBJ_LessThan(pf, pf1)   (*(pf) < *(pf1))
 
#define FLOATOBJ_EqualLong(pf, l)   (*(pf) == (FLOAT)(l))
 
#define FLOATOBJ_GreaterThanLong(pf, l)   (*(pf) > (FLOAT)(l))
 
#define FLOATOBJ_LessThanLong(pf, l)   (*(pf) < (FLOAT)(l))
 
#define XF_LTOL   0L
 
#define XF_INV_LTOL   1L
 
#define XF_LTOFX   2L
 
#define XF_INV_FXTOL   3L
 
#define XO_SRCPALETTE   1
 
#define XO_DESTPALETTE   2
 
#define XO_DESTDCPALETTE   3
 
#define XO_SRCBITFIELDS   4
 
#define XO_DESTBITFIELDS   5
 
#define ED_ABORTDOC   0x00000001
 
#define FO_HGLYPHS   0L
 
#define FO_GLYPHBITS   1L
 
#define FO_PATHOBJ   2L
 
#define IGRF_RGB_256BYTES   0x00000000
 
#define IGRF_RGB_256WORDS   0x00000001
 
#define QAW_GETWIDTHS   0
 
#define QAW_GETEASYWIDTHS   1
 
#define QDS_CHECKJPEGFORMAT   0x00000000
 
#define QDS_CHECKPNGFORMAT   0x00000001
 
#define DRVQUERY_USERMODE   0x00000001
 
#define QC_OUTLINES   0x00000001
 
#define QC_1BIT   0x00000002
 
#define QC_4BIT   0x00000004
 
#define QC_FONTDRIVERCAPS   (QC_OUTLINES | QC_1BIT | QC_4BIT)
 
#define QFD_GLYPHANDBITMAP   1L
 
#define QFD_GLYPHANDOUTLINE   2L
 
#define QFD_MAXEXTENTS   3L
 
#define QFD_TT_GLYPHANDBITMAP   4L
 
#define QFD_TT_GRAY1_BITMAP   5L
 
#define QFD_TT_GRAY2_BITMAP   6L
 
#define QFD_TT_GRAY4_BITMAP   8L
 
#define QFD_TT_GRAY8_BITMAP   9L
 
#define QFD_TT_MONO_BITMAP   QFD_TT_GRAY1_BITMAP
 
#define QFF_DESCRIPTION   0x00000001
 
#define QFF_NUMFACES   0x00000002
 
#define QFT_UNICODE   0L
 
#define QFT_LIGATURES   1L
 
#define QFT_KERNPAIRS   2L
 
#define QFT_GLYPHSET   3L
 
#define TTO_METRICS_ONLY   0x00000001
 
#define TTO_QUBICS   0x00000002
 
#define TTO_UNHINTED   0x00000004
 
#define RB_DITHERCOLOR   0x80000000L
 
#define HS_DDI_MAX   6
 
#define DRD_SUCCESS   0
 
#define DRD_ERROR   1
 
#define SS_SAVE   0x00000000
 
#define SS_RESTORE   0x00000001
 
#define SS_FREE   0x00000002
 
#define WINDDI_MAXSETPALETTECOLORS   256
 
#define WINDDI_MAXSETPALETTECOLORINDEX   255
 
#define SPS_ERROR   0x00000000
 
#define SPS_DECLINE   0x00000001
 
#define SPS_ACCEPT_NOEXCLUDE   0x00000002
 
#define SPS_ACCEPT_EXCLUDE   0x00000003
 
#define SPS_ACCEPT_SYNCHRONOUS   0x00000004
 
#define SPS_CHANGE   0x00000001L
 
#define SPS_ASYNCCHANGE   0x00000002L
 
#define SPS_ANIMATESTART   0x00000004L
 
#define SPS_ANIMATEUPDATE   0x00000008L
 
#define SPS_ALPHA   0x00000010L
 
#define SPS_RESERVED   0x00000020L /* Force s/w cursor rendering */
 
#define SPS_RESERVED1   0x00000040L /* Force show/hide system cursor */
 
#define SPS_FLAGSMASK   0x000000FFL
 
#define SPS_LENGTHMASK   0x00000F00L
 
#define SPS_FREQMASK   0x000FF000L
 
#define DSS_TIMER_EVENT   0x00000001
 
#define DSS_FLUSH_EVENT   0x00000002
 
#define DSS_RESERVED   0x00000004
 
#define DSS_RESERVED1   0x00000008
 
#define DRH_APIBITMAP   0x00000001
 
#define CDBEX_REDIRECTION   0x00000001
 
#define CDBEX_DXINTEROP   0x00000002
 
#define WINDDI_MAX_BROADCAST_CONTEXT   64
 

Typedefs

typedef struct _GUID GUID
 
typedef FLOAT FLOATL
 
typedef SHORT FWORD
 
typedef LONG LDECI4
 
typedef ULONG IDENT
 
typedef ULONG_PTR HFF
 
typedef ULONG_PTR HFC
 
typedef LONG PTRDIFF
 
typedef PTRDIFFPPTRDIFF
 
typedef LONG FIX
 
typedef FIXPFIX
 
typedef ULONG ROP4
 
typedef ULONG MIX
 
typedef ULONG HGLYPH
 
typedef HGLYPHPHGLYPH
 
typedef LONG_PTR(APIENTRYPFN) ()
 
typedef struct _ENG_EVENTPEVENT
 
typedef struct _POINTE POINTE
 
typedef struct _POINTEPPOINTE
 
typedef union _FLOAT_LONG FLOAT_LONG
 
typedef union _FLOAT_LONGPFLOAT_LONG
 
typedef struct _POINTFIX POINTFIX
 
typedef struct _POINTFIXPPOINTFIX
 
typedef struct _RECTFX RECTFX
 
typedef struct _RECTFXPRECTFX
 
typedef struct _POINTQF POINTQF
 
typedef struct _POINTQFPPOINTQF
 
typedef struct _BLENDOBJ BLENDOBJ
 
typedef struct _BLENDOBJPBLENDOBJ
 
typedef struct _BRUSHOBJ BRUSHOBJ
 
typedef struct _CIECHROMA CIECHROMA
 
typedef struct _RUN RUN
 
typedef struct _RUNPRUN
 
typedef struct _CLIPLINE CLIPLINE
 
typedef struct _CLIPLINEPCLIPLINE
 
typedef struct _CLIPOBJ CLIPOBJ
 
typedef struct _COLORINFO COLORINFO
 
typedef struct _COLORINFOPCOLORINFO
 
typedef struct _DEVHTINFO DEVHTINFO
 
typedef struct _DEVHTINFOPDEVHTINFO
 
typedef struct _DEVHTADJDATA DEVHTADJDATA
 
typedef struct _DEVHTADJDATAPDEVHTADJDATA
 
typedef struct _DEVINFO DEVINFO
 
typedef struct _DEVINFOPDEVINFO
 
typedef struct _DRIVEROBJ DRIVEROBJ
 
typedef struct _DRVFN DRVFN
 
typedef struct _DRVFNPDRVFN
 
typedef struct tagDRVENABLEDATA DRVENABLEDATA
 
typedef struct tagDRVENABLEDATAPDRVENABLEDATA
 
typedef struct EMFINFOPEMFINFO
 
typedef struct _ENGSAFESEMAPHORE ENGSAFESEMAPHORE
 
typedef struct _ENG_TIME_FIELDS ENG_TIME_FIELDS
 
typedef struct _ENG_TIME_FIELDSPENG_TIME_FIELDS
 
typedef struct _ENUMRECTS ENUMRECTS
 
typedef struct _FD_XFORM FD_XFORM
 
typedef struct _FD_XFORMPFD_XFORM
 
typedef struct _FD_DEVICEMETRICS FD_DEVICEMETRICS
 
typedef struct _FD_DEVICEMETRICSPFD_DEVICEMETRICS
 
typedef struct _FD_GLYPHATTR FD_GLYPHATTR
 
typedef struct _FD_GLYPHATTRPFD_GLYPHATTR
 
typedef struct _WCRUN WCRUN
 
typedef struct _WCRUNPWCRUN
 
typedef struct _FD_GLYPHSET FD_GLYPHSET
 
typedef struct _FD_GLYPHSETPFD_GLYPHSET
 
typedef struct _FD_KERNINGPAIR FD_KERNINGPAIR
 
typedef struct _LIGATURE LIGATURE
 
typedef struct _LIGATUREPLIGATURE
 
typedef struct _FD_LIGATURE FD_LIGATURE
 
typedef FLOAT FLOATOBJ
 
typedef FLOATPFLOATOBJ
 
typedef struct tagFLOATOBJ_XFORM FLOATOBJ_XFORM
 
typedef struct tagFLOATOBJ_XFORMPFLOATOBJ_XFORM
 
typedef struct tagFLOATOBJ_XFORMLPFLOATOBJ_XFORM
 
typedef struct _FONTDIFF FONTDIFF
 
typedef struct _FONTSIM FONTSIM
 
typedef struct _FONTINFO FONTINFO
 
typedef struct _FONTINFOPFONTINFO
 
typedef struct _FONTOBJ FONTOBJ
 
typedef struct _GAMMARAMP GAMMARAMP
 
typedef struct _GAMMARAMPPGAMMARAMP
 
typedef struct _GDIINFO GDIINFO
 
typedef struct _GDIINFOPGDIINFO
 
typedef struct _PATHDATA PATHDATA
 
typedef struct _PATHDATAPPATHDATA
 
typedef struct _PATHOBJ PATHOBJ
 
typedef BYTE GAMMA_TABLES[2][256]
 
typedef struct _GLYPHBITS GLYPHBITS
 
typedef union _GLYPHDEF GLYPHDEF
 
typedef struct _GLYPHPOS GLYPHPOS
 
typedef struct _GLYPHPOSPGLYPHPOS
 
typedef struct _GLYPHDATA GLYPHDATA
 
typedef struct _IFIEXTRA IFIEXTRA
 
typedef struct _IFIEXTRAPIFIEXTRA
 
typedef struct _IFIMETRICS IFIMETRICS
 
typedef struct _IFIMETRICSPIFIMETRICS
 
typedef struct _LINEATTRS LINEATTRS
 
typedef struct _LINEATTRSPLINEATTRS
 
typedef struct _PALOBJ PALOBJ
 
typedef struct _PERBANDINFO PERBANDINFO
 
typedef struct _PERBANDINFOPPERBANDINFO
 
typedef struct _STROBJ STROBJ
 
typedef struct _SURFOBJ SURFOBJ
 
typedef struct _TYPE1_FONT TYPE1_FONT
 
typedef struct _WNDOBJ WNDOBJ
 
typedef struct _WNDOBJPWNDOBJ
 
typedef struct _XFORML XFORML
 
typedef struct _XFORMLPXFORML
 
typedef struct _XFORMOBJ XFORMOBJ
 
typedef struct _XLATEOBJ XLATEOBJ
 
typedef _In_ FLONG fl
 
typedef enum _ENG_DEVICE_ATTRIBUTE ENG_DEVICE_ATTRIBUTE
 
typedef enum _ENG_SYSTEM_ATTRIBUTE ENG_SYSTEM_ATTRIBUTE
 
typedef const voidpv2
 
typedef _In_ SURFOBJpsoSrc
 
typedef _In_ SURFOBJ _In_ CLIPOBJpco
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJpxlo
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTLprclDest
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTLprclSrc
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ BLENDOBJpBlendObj
 
typedef FN_DrvAlphaBlend * PFN_DrvAlphaBlend
 
typedef _In_ BOOL bEnable
 
typedef FN_DrvAssertMode * PFN_DrvAssertMode
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJpsoMask
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTLprclTrg
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTLpptlSrc
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTLpptlMask
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJpbo
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTLpptlBrush
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL _In_ ROP4 rop4
 
typedef FN_DrvBitBlt * PFN_DrvBitBlt
 
typedef _In_ HDEV hdev
 
typedef FN_DrvCompletePDEV * PFN_DrvCompletePDEV
 
typedef FN_DrvCopyBits * PFN_DrvCopyBits
 
typedef _In_ SIZEL sizl
 
typedef _In_ SIZEL _In_ ULONG iFormat
 
typedef FN_DrvCreateDeviceBitmap * PFN_DrvCreateDeviceBitmap
 
typedef FN_DrvDeleteDeviceBitmap * PFN_DrvDeleteDeviceBitmap
 
typedef _In_ DD_SURFACE_LOCALpSurface
 
typedef FN_DrvDeriveSurface * PFN_DrvDeriveSurface
 
typedef _In_ LONG iPixelFormat
 
typedef _In_ LONG _In_ ULONG cjpfd
 
typedef _In_ LONG _In_ ULONG _Out_opt_ PIXELFORMATDESCRIPTORppfd
 
typedef FN_DrvDescribePixelFormat * PFN_DrvDescribePixelFormat
 
typedef FN_DrvDestroyFont * PFN_DrvDestroyFont
 
typedef FN_DrvDisableDriver * PFN_DrvDisableDriver
 
typedef FN_DrvDisablePDEV * PFN_DrvDisablePDEV
 
typedef FN_DrvDisableSurface * PFN_DrvDisableSurface
 
typedef _In_ ULONG iMode
 
typedef _In_ ULONG _In_ ULONG rgb
 
typedef _In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)
 
typedef FN_DrvDitherColor * PFN_DrvDitherColor
 
typedef _In_ ULONG iEsc
 
typedef _In_ ULONG _In_ CLIPOBJ _In_ RECTLprcl
 
typedef _In_ ULONG _In_ CLIPOBJ _In_ RECTL _In_ ULONG cjIn
 
typedef _In_ ULONG _In_ CLIPOBJ _In_ RECTL _In_ ULONG _In_reads_bytes_(cjIn) PVOID pvIn)
 
typedef FN_DrvDrawEscape * PFN_DrvDrawEscape
 
typedef _In_ ULONG cj
 
typedef _In_ ULONG _Inout_bytecount_(cj) DRVENABLEDATA *pded)
 
typedef FN_DrvEnableDriver * PFN_DrvEnableDriver
 
typedef _In_ LPWSTR pwszLogAddress
 
typedef _In_ LPWSTR _In_ ULONG cPat
 
typedef _In_ LPWSTR _In_ ULONG _Out_opt_cap_(cPat) HSURF *phsurfPatterns
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG cjCaps
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG _Out_bytecap_(cjCaps) ULONG *pdevcaps
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG cjDevInfo
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFOpdi
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR pwszDeviceName
 
typedef _In_ LPWSTR _In_ ULONG _In_ ULONG _In_ ULONG _Out_ DEVINFO _In_ HDEV _In_ LPWSTR _In_ HANDLE hDriver
 
typedef FN_DrvEnablePDEV * PFN_DrvEnablePDEV
 
typedef FN_DrvEnableSurface * PFN_DrvEnableSurface
 
typedef FN_DrvEndDoc * PFN_DrvEndDoc
 
typedef _In_ ULONG _In_ ULONG _In_bytecount_(cjIn) PVOID pvIn
 
typedef _In_ ULONG _In_ ULONG _In_ ULONG cjOut
 
typedef FN_DrvEscape * PFN_DrvEscape
 
typedef _In_ PATHOBJppo
 
typedef _In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTLpptlBrushOrg
 
typedef _In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX mix
 
typedef _In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX _In_ FLONG flOptions
 
typedef FN_DrvFillPath * PFN_DrvFillPath
 
typedef _In_opt_ FONTOBJpfo
 
typedef FN_DrvFontManagement * PFN_DrvFontManagement
 
typedef _In_ ULONG_PTR id
 
typedef FN_DrvFree * PFN_DrvFree
 
typedef FN_DrvGetGlyphMode * PFN_DrvGetGlyphMode
 
typedef _In_ ULONG cjSize
 
typedef _In_ ULONG _Out_opt_bytecap_(cjSize) DEVMODEW *pdm)
 
typedef FN_DrvGetModes * PFN_DrvGetModes
 
typedef _In_ ULONGpcj
 
typedef FN_DrvGetTrueTypeFile * PFN_DrvGetTrueTypeFile
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEXpVertex
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG nVertex
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID pMesh
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG nMesh
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTLprclExtents
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTLpptlDitherOrg
 
typedef _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
 
typedef FN_DrvGradientFill * PFN_DrvGradientFill
 
typedef _In_ HANDLE hColorTransform
 
typedef _In_ HANDLE _In_ SURFOBJpso
 
typedef FN_DrvIcmCheckBitmapBits * PFN_DrvIcmCheckBitmapBits
 
typedef _In_ LPLOGCOLORSPACEW pLogColorSpace
 
typedef _In_ LPLOGCOLORSPACEW _In_reads_bytes_opt_(cjSourceProfile) PVOID pvSourceProfile
 
typedef _In_ LPLOGCOLORSPACEW _In_ ULONG cjSourceProfile
 
typedef _In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG cjDestProfile
 
typedef _In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG _In_ ULONG cjTargetProfile
 
typedef _In_ LPLOGCOLORSPACEW _In_ ULONG _In_ ULONG _In_ ULONG _In_ DWORD dwReserved
 
typedef FN_DrvIcmCreateColorTransform * PFN_DrvIcmCreateColorTransform
 
typedef _In_ HANDLE hcmXform
 
typedef FN_DrvIcmDeleteColorTransform * PFN_DrvIcmDeleteColorTransform
 
typedef FN_DrvIcmSetDeviceGammaRamp * PFN_DrvIcmSetDeviceGammaRamp
 
typedef _In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
 
typedef _In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
 
typedef _In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
 
typedef _In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
 
typedef _In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG _In_opt_ RECTLprclBounds
 
typedef FN_DrvLineTo * PFN_DrvLineTo
 
typedef _In_ ULONG_PTRpiFile
 
typedef _In_ ULONG_PTR _In_count_(cFiles) PVOID *ppvView
 
typedef _In_ ULONG_PTR _In_opt_ DESIGNVECTORpdv
 
typedef _In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG ulLangID
 
typedef _In_ ULONG_PTR _In_opt_ DESIGNVECTOR _In_ ULONG _In_ ULONG ulFastCheckSum
 
typedef FN_DrvLoadFontFile * PFN_DrvLoadFontFile
 
typedef _In_ LONG x
 
typedef _In_ LONG _In_ LONG y
 
typedef FN_DrvMovePointer * PFN_DrvMovePointer
 
typedef _In_ POINTLpptl
 
typedef FN_DrvNextBand * PFN_DrvNextBand
 
typedef _In_ ULONG iType
 
typedef _In_ ULONG _In_opt_ PVOID pvData
 
typedef FN_DrvNotify * PFN_DrvNotify
 
typedef _In_ LONG _In_ LONG _In_ FLONG flReserved
 
typedef FN_DrvOffset * PFN_DrvOffset
 
typedef FN_DrvPaint * PFN_DrvPaint
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJpsoMsk
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENTpca
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_opt_ POINTL _In_ POINTFIXpptfx
 
typedef FN_DrvPlgBlt * PFN_DrvPlgBlt
 
typedef _In_ FONTOBJ _In_ ULONG _In_reads_(cGlyphs) HGLYPH *phg
 
typedef _In_ FONTOBJ _In_ ULONG _Out_writes_bytes_(cGlyphs *sizeof(USHORT)) PVOID pvWidths
 
typedef _In_ FONTOBJ _In_ ULONG _In_ ULONG cGlyphs
 
typedef FN_DrvQueryAdvanceWidths * PFN_DrvQueryAdvanceWidths
 
typedef _In_ XLATEOBJ _In_ XFORMOBJpxo
 
typedef FN_DrvQueryDeviceSupport * PFN_DrvQueryDeviceSupport
 
typedef _In_ DWORD cjBuf
 
typedef _In_ DWORD _Out_ PDWORD pcbNeeded
 
typedef FN_DrvQueryDriverInfo * PFN_DrvQueryDriverInfo
 
typedef _In_ ULONG_PTR iFile
 
typedef _In_ ULONG_PTR _In_ ULONG iFace
 
typedef _In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTRpid
 
typedef FN_DrvQueryFont * PFN_DrvQueryFont
 
typedef FN_DrvQueryFontCaps * PFN_DrvQueryFontCaps
 
typedef _In_ FONTOBJ _In_ ULONG _In_ HGLYPH hg
 
typedef _In_ FONTOBJ _In_ ULONG _In_ HGLYPH _In_opt_ GLYPHDATApgd
 
typedef FN_DrvQueryFontData * PFN_DrvQueryFontData
 
typedef FN_DrvQueryFontFile * PFN_DrvQueryFontFile
 
typedef FN_DrvQueryFontTree * PFN_DrvQueryFontTree
 
typedef FN_DrvQueryGlyphAttrs * PFN_DrvQueryGlyphAttrs
 
typedef _Inout_ PERBANDINFOpbi
 
typedef FN_DrvQueryPerBandInfo * PFN_DrvQueryPerBandInfo
 
typedef _In_ FONTOBJ _In_ HGLYPH hglyph
 
typedef _In_ FONTOBJ _In_ HGLYPH _In_ BOOL bMetricsOnly
 
typedef _In_ FONTOBJ _In_ HGLYPH _In_ BOOL _Out_opt_ GLYPHDATApgldt
 
typedef FN_DrvQueryTrueTypeOutline * PFN_DrvQueryTrueTypeOutline
 
typedef _In_ ULONG ulFont
 
typedef _In_ ULONG _In_ ULONG ulTag
 
typedef _In_ ULONG _In_ ULONG _In_ PTRDIFF dpStart
 
typedef _In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTEppjTable
 
typedef _In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Outptr_opt_result_bytebuffer_all_maybenull_ pcjTable PBYTE _Out_opt_ ULONGpcjTable
 
typedef FN_DrvQueryTrueTypeTable * PFN_DrvQueryTrueTypeTable
 
typedef _Inout_ SURFOBJpsoTarget
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJpsoPattern
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_opt_ XLATEOBJ _In_ ULONG iHatch
 
typedef FN_DrvRealizeBrush * PFN_DrvRealizeBrush
 
typedef _Reserved_ PVOID Reserved
 
typedef FN_DrvResetDevice * PFN_DrvResetDevice
 
typedef _In_ DHPDEV dhpdevNew
 
typedef FN_DrvResetPDEV * PFN_DrvResetPDEV
 
typedef _In_ ULONG _In_ ULONG_PTR ident
 
typedef FN_DrvSaveScreenBits * PFN_DrvSaveScreenBits
 
typedef FN_DrvSendPage * PFN_DrvSendPage
 
typedef _In_ PALOBJppalo
 
typedef _In_ PALOBJ _In_ FLONG _In_range_(0, WINDDI_MAXSETPALETTECOLORINDEX) ULONG iStart
 
typedef FN_DrvSetPalette * PFN_DrvSetPalette
 
typedef _In_ LONG _In_ HWND hwnd
 
typedef FN_DrvSetPixelFormat * PFN_DrvSetPixelFormat
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJpsoColor
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG xHot
 
typedef _In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG _In_ LONG yHot
 
typedef FN_DrvSetPointerShape * PFN_DrvSetPointerShape
 
typedef FN_DrvStartBanding * PFN_DrvStartBanding
 
typedef _In_ LPWSTR pwszDocName
 
typedef _In_ LPWSTR _In_ DWORD dwJobId
 
typedef FN_DrvStartDoc * PFN_DrvStartDoc
 
typedef FN_DrvStartPage * PFN_DrvStartPage
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_ POINTLpptlHTOrg
 
typedef _Inout_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_opt_ COLORADJUSTMENT _In_ POINTL _In_ RECTL _In_ RECTL _When_(psoMask, _In_) POINTL *pptlMask
 
typedef FN_DrvStretchBlt * PFN_DrvStretchBlt
 
typedef FN_DrvStretchBltROP * PFN_DrvStretchBltROP
 
typedef _Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJpboStroke
 
typedef _Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRSplineattrs
 
typedef _Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJpboFill
 
typedef _Inout_ PATHOBJ _In_ CLIPOBJ _In_opt_ XFORMOBJ _In_ BRUSHOBJ _In_ LINEATTRS _In_ BRUSHOBJ _In_ POINTL _In_ MIX mixFill
 
typedef FN_DrvStrokeAndFillPath * PFN_DrvStrokeAndFillPath
 
typedef FN_DrvStrokePath * PFN_DrvStrokePath
 
typedef _In_ WNDOBJpwo
 
typedef FN_DrvSwapBuffers * PFN_DrvSwapBuffers
 
typedef FN_DrvSynchronize * PFN_DrvSynchronize
 
typedef FN_DrvSynchronizeSurface * PFN_DrvSynchronizeSurface
 
typedef _In_ STROBJpstro
 
typedef _In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTLprclExtra
 
typedef _In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTLprclOpaque
 
typedef _In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJpboFore
 
typedef _In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJpboOpaque
 
typedef _In_ STROBJ _In_ FONTOBJ _In_ CLIPOBJ _Null_ RECTL _In_opt_ RECTL _In_ BRUSHOBJ _In_ BRUSHOBJ _In_ POINTLpptlOrg
 
typedef FN_DrvTextOut * PFN_DrvTextOut
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTLprclDst
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG iTransColor
 
typedef _In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_ RECTL _In_ ULONG _In_ ULONG ulReserved
 
typedef FN_DrvTransparentBlt * PFN_DrvTransparentBlt
 
typedef FN_DrvUnloadFontFile * PFN_DrvUnloadFontFile
 
typedef FN_DrvDisableDirectDraw * PFN_DrvDisableDirectDraw
 
typedef _Out_ DD_CALLBACKSpCallBacks
 
typedef _Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKSpSurfaceCallBacks
 
typedef _Out_ DD_CALLBACKS _Out_ DD_SURFACECALLBACKS _Out_ DD_PALETTECALLBACKSpPaletteCallBacks
 
typedef FN_DrvEnableDirectDraw * PFN_DrvEnableDirectDraw
 
typedef _Out_ DD_HALINFOpHalInfo
 
typedef _Out_ DD_HALINFO _Out_ DWORDpdwNumHeaps
 
typedef _Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORYpvmList
 
typedef _Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORDpdwNumFourCCCodes
 
typedef _Out_ DD_HALINFO _Out_ DWORD _Out_ VIDEOMEMORY _Out_ DWORD _Out_ DWORDpdwFourCC
 
typedef FN_DrvGetDirectDrawInfo * PFN_DrvGetDirectDrawInfo
 
typedef _In_ LPWSTR pwchType
 
typedef FN_DrvQuerySpoolType * PFN_DrvQuerySpoolType
 
typedef HANDLE PTRDIFF *typedef FN_DrvQueryTrueTypeSection * PFN_DrvQueryTrueTypeSection
 
typedef FN_DrvMovePanning * PFN_DrvMovePanning
 
typedef _In_ ULONG NotifyCode
 
typedef _In_ ULONG _In_ SIZE_T Length
 
typedef FN_DrvRenderHint * PFN_DrvRenderHint
 
typedef struct _DRH_APIBITMAPDATA DRH_APIBITMAPDATA
 
typedef struct _DRH_APIBITMAPDATAPDRH_APIBITMAPDATA
 
typedef _In_ INT top
 
typedef _In_ INT _In_ INT right
 
typedef _In_ INT _In_ INT _In_ INT bottom
 
typedef FN_EngCreateRectRgn * PFN_EngCreateRectRgn
 
typedef FN_EngDeleteRgn * PFN_EngDeleteRgn
 
typedef _In_ HANDLE hrgnSrc1
 
typedef _In_ HANDLE _In_ HANDLE hrgnSrc2
 
typedef FN_EngCombineRgn * PFN_EngCombineRgn
 
typedef _In_ HANDLE hrgnSrc
 
typedef FN_EngCopyRgn * PFN_EngCopyRgn
 
typedef _In_ HANDLE hRgnA
 
typedef _In_ HANDLE _In_ HANDLE hRgnB
 
typedef FN_EngIntersectRgn * PFN_EngIntersectRgn
 
typedef FN_EngSubtractRgn * PFN_EngSubtractRgn
 
typedef FN_EngUnionRgn * PFN_EngUnionRgn
 
typedef FN_EngXorRgn * PFN_EngXorRgn
 
typedef _In_ SIZEL _In_ ULONG _In_ DWORD Flags
 
typedef _In_ SIZEL _In_ ULONG _In_ DWORD _In_ DHSURF dhsurfGroup
 
typedef _In_ SIZEL _In_ ULONG _In_ DWORD _In_ DHSURF _In_ DWORD DxFormat
 
typedef _In_ SIZEL _In_ ULONG _In_ DWORD _In_ DHSURF _In_ DWORD _In_ DWORD SubresourceIndex
 
typedef _In_ SIZEL _In_ ULONG _In_ DWORD _In_ DHSURF _In_ DWORD _In_ DWORD _Out_ HANDLEphSharedSurface
 
typedef FN_DrvCreateDeviceBitmapEx * PFN_DrvCreateDeviceBitmapEx
 
typedef FN_DrvDeleteDeviceBitmapEx * PFN_DrvDeleteDeviceBitmapEx
 
typedef _In_ HANDLE hPhysicalSurface
 
typedef _In_ HANDLE _In_ HANDLE hLogicalSurface
 
typedef FN_DrvAssociateSharedSurface * PFN_DrvAssociateSharedSurface
 
typedef _Out_ UINT64puiFenceID
 
typedef FN_DrvSynchronizeRedirectionBitmaps * PFN_DrvSynchronizeRedirectionBitmaps
 
typedef struct tagCDDDXGK_REDIRBITMAPPRESENTINFO CDDDXGK_REDIRBITMAPPRESENTINFO
 
typedef _In_ CDDDXGK_REDIRBITMAPPRESENTINFOpDirty
 
typedef FN_DrvAccumulateD3DDirtyRect * PFN_DrvAccumulateD3DDirtyRect
 
typedef _In_ BOOL bDiscard
 
typedef _In_ BOOL _In_ PVOID KernelModeDeviceHandle
 
typedef FN_DrvStartDxInterop * PFN_DrvStartDxInterop
 
typedef _In_ BOOL _Out_ BOOLbDeviceLost
 
typedef FN_DrvEndDxInterop * PFN_DrvEndDxInterop
 
typedef FN_DrvLockDisplayArea * PFN_DrvLockDisplayArea
 
typedef FN_DrvUnlockDisplayArea * PFN_DrvUnlockDisplayArea
 

Enumerations

enum  _ENG_DEVICE_ATTRIBUTE { QDA_RESERVED = 0 , QDA_ACCELERATION_LEVEL }
 
enum  _ENG_SYSTEM_ATTRIBUTE { EngProcessorFeature = 1 , EngNumberOfProcessors , EngOptimumAvailableUserMemory , EngOptimumAvailableSystemMemory }
 

Functions

 DECLARE_HANDLE (HBM)
 
 DECLARE_HANDLE (HDEV)
 
 DECLARE_HANDLE (HSURF)
 
 DECLARE_HANDLE (DHSURF)
 
 DECLARE_HANDLE (DHPDEV)
 
 DECLARE_HANDLE (HDRVOBJ)
 
 DECLARE_HANDLE (HSEMAPHORE)
 
typedef _Return_type_success_ (return >=0) long NTSTATUS
 
typedef BOOL (APIENTRY CALLBACK *FREEOBJPROC)(_In_ struct _DRIVEROBJ *pDriverObj)
 
typedef VOID (APIENTRY CALLBACK *WNDOBJCHANGEPROC)(_In_ WNDOBJ *pwo
 
ENGAPI HANDLE APIENTRY BRUSHOBJ_hGetColorTransform (_In_ BRUSHOBJ *pbo)
 
 _Ret_opt_bytecount_ (cj) ENGAPI PVOID APIENTRY BRUSHOBJ_pvAllocRbrush(_In_ BRUSHOBJ *pbo
 
ENGAPI PVOID APIENTRY BRUSHOBJ_pvGetRbrush (_In_ BRUSHOBJ *pbo)
 
ENGAPI ULONG APIENTRY BRUSHOBJ_ulGetBrushColor (_In_ BRUSHOBJ *pbo)
 
ENGAPI BOOL APIENTRY CLIPOBJ_bEnum (_In_ CLIPOBJ *pco, _In_ ULONG cj, _Out_bytecap_(cj) ULONG *pul)
 
ENGAPI ULONG APIENTRY CLIPOBJ_cEnumStart (_Inout_ CLIPOBJ *pco, _In_ BOOL bAll, _In_ ULONG iType, _In_ ULONG iDirection, _In_ ULONG cLimit)
 
ENGAPI PATHOBJ *APIENTRY CLIPOBJ_ppoGetPath (_In_ CLIPOBJ *pco)
 
ENGAPI HANDLE APIENTRY CLIPOBJ_GetRgn (_In_ CLIPOBJ *pco)
 
ENGAPI VOID APIENTRY EngAcquireSemaphore (_Inout_ HSEMAPHORE hsem)
 
_Must_inspect_result_ _When_ (fl &FL_ZERO_MEMORY, _Ret_opt_bytecount_(cjMemSize)) _When_(!(fl &FL_ZERO_MEMORY)
 
_Must_inspect_result_ _Ret_opt_bytecap_ (cjMemSize)) __drv_allocatesMem(Mem) ENGAPI PVOID APIENTRY EngAllocMem(_In_ ULONG fl
 
_Must_inspect_result_ _Ret_opt_bytecount_ (cjMemSize) __drv_allocatesMem(PrivateUserMem) ENGAPI PVOID APIENTRY EngAllocPrivateUserMem(_In_ PDD_SURFACE_LOCAL psl
 
ENGAPI BOOL APIENTRY EngAlphaBlend (_Inout_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _In_ BLENDOBJ *pBlendObj)
 
ENGAPI BOOL APIENTRY EngAssociateSurface (_In_ HSURF hsurf, _In_ HDEV hdev, _In_ FLONG flHooks)
 
ENGAPI BOOL APIENTRY EngBitBlt (_Inout_ SURFOBJ *psoTrg, _In_opt_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclTrg, _In_opt_ POINTL *pptlSrc, _In_opt_ POINTL *pptlMask, _In_opt_ BRUSHOBJ *pbo, _In_opt_ POINTL *pptlBrush, _In_ ROP4 rop4)
 
ENGAPI BOOL APIENTRY EngCheckAbort (_In_ SURFOBJ *pso)
 
ENGAPI VOID APIENTRY EngClearEvent (_In_ PEVENT pEvent)
 
 _Success_ (return !=0) ENGAPI FD_GLYPHSET *APIENTRY EngComputeGlyphSet(_In_ INT nCodePage
 
ENGAPI BOOL APIENTRY EngControlSprites (_Inout_ WNDOBJ *pwo, _In_ FLONG fl)
 
ENGAPI BOOL APIENTRY EngCopyBits (_In_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ __in_data_source(USER_MODE) RECTL *prclDest, _In_ __in_data_source(USER_MODE) POINTL *pptlSrc)
 
ENGAPI HBITMAP APIENTRY EngCreateBitmap (_In_ SIZEL sizl, _In_ LONG lWidth, _In_ ULONG iFormat, _In_ FLONG fl, _In_opt_ PVOID pvBits)
 
ENGAPI CLIPOBJ *APIENTRY EngCreateClip (VOID)
 
_Must_inspect_result_ ENGAPI HBITMAP APIENTRY EngCreateDeviceBitmap (_In_ DHSURF dhsurf, _In_ SIZEL sizl, _In_ ULONG iFormatCompat)
 
_Must_inspect_result_ ENGAPI HSURF APIENTRY EngCreateDeviceSurface (_In_ DHSURF dhsurf, _In_ SIZEL sizl, _In_ ULONG iFormatCompat)
 
_Must_inspect_result_ ENGAPI HDRVOBJ APIENTRY EngCreateDriverObj (_In_ PVOID pvObj, _In_opt_ FREEOBJPROC pFreeObjProc, _In_ HDEV hdev)
 
_Must_inspect_result_ ENGAPI HPALETTE APIENTRY EngCreatePalette (_In_ ULONG iMode, _In_ ULONG cColors, _In_ ULONG *pulColors, _In_ FLONG flRed, _In_ FLONG flGreen, _In_ FLONG flBlue)
 
ENGAPI PATHOBJ *APIENTRY EngCreatePath (VOID)
 
 __drv_allocatesMem (Mem) _Post_writable_byte_size_(sizeof(ERESOURCE)) ENGAPI HSEMAPHORE APIENTRY EngCreateSemaphore(VOID)
 
_Must_inspect_result_ ENGAPI WNDOBJ *APIENTRY EngCreateWnd (_In_ SURFOBJ *pso, _In_ HWND hwnd, _In_ WNDOBJCHANGEPROC pfn, _In_ FLONG fl, _In_ INT iPixelFormat)
 
_Analysis_noreturn_ ENGAPI VOID APIENTRY EngDebugBreak (VOID)
 
ENGAPI VOID APIENTRY EngDebugPrint (_In_z_ PCHAR StandardPrefix, _In_z_ PCHAR DebugMessage, _In_ va_list ap)
 
ENGAPI VOID APIENTRY EngDeleteClip (_In_ _Post_ptr_invalid_ CLIPOBJ *pco)
 
ENGAPI BOOL APIENTRY EngDeleteDriverObj (_In_ _Post_ptr_invalid_ HDRVOBJ hdo, _In_ BOOL bCallBack, _In_ BOOL bLocked)
 
ENGAPI BOOL APIENTRY EngDeleteEvent (_In_ _Post_ptr_invalid_ PEVENT pEvent)
 
ENGAPI BOOL APIENTRY EngDeleteFile (_In_ LPWSTR pwszFileName)
 
ENGAPI BOOL APIENTRY EngDeletePalette (_In_ _Post_ptr_invalid_ HPALETTE hpal)
 
ENGAPI VOID APIENTRY EngDeletePath (_In_ _Post_ptr_invalid_ PATHOBJ *ppo)
 
ENGAPI VOID APIENTRY EngDeleteSafeSemaphore (_Inout_ _Post_invalid_ ENGSAFESEMAPHORE *pssem)
 
_Requires_lock_not_held_ hsem ENGAPI VOID APIENTRY EngDeleteSemaphore (_Inout_ __drv_freesMem(Mem) HSEMAPHORE hsem)
 
ENGAPI BOOL APIENTRY EngDeleteSurface (_In_ _Post_ptr_invalid_ HSURF hsurf)
 
ENGAPI VOID APIENTRY EngDeleteWnd (_In_ _Post_ptr_invalid_ WNDOBJ *pwo)
 
 _Success_ (return==0) ENGAPI DWORD APIENTRY EngDeviceIoControl(_In_ HANDLE hDevice
 
_In_ DWORD _In_reads_bytes_opt_ (cjInBufferSize) LPVOID lpInBuffer
 
_In_ DWORD _In_ DWORD _Out_writes_bytes_opt_ (cjOutBufferSize) LPVOID lpOutBuffer
 
ENGAPI ULONG APIENTRY EngDitherColor (_In_ HDEV hdev, _In_ ULONG iMode, _In_ ULONG rgb, _When_(iMode==DM_DEFAULT, _Out_writes_bytes_(16 *8)) _When_(iMode==DM_MONOCHROME, _Out_writes_bytes_(8)) ULONG *pul)
 
ENGAPI HRESULT APIENTRY EngDxIoctl (_In_ ULONG ulIoctl, _Inout_ PVOID pBuffer, _In_ ULONG ulBufferSize)
 
ENGAPI BOOL APIENTRY EngEnumForms (_In_ HANDLE hPrinter, _In_ DWORD Level, _Out_writes_bytes_opt_(cbBuf) LPBYTE pForm, _In_ DWORD cbBuf, _Out_ LPDWORD pcbNeeded, _Out_ LPDWORD pcReturned)
 
ENGAPI BOOL APIENTRY EngEraseSurface (_In_ SURFOBJ *pso, _In_ RECTL *prcl, _In_ ULONG iColor)
 
ENGAPI BOOL APIENTRY EngFillPath (_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ MIX mix, _In_ FLONG flOptions)
 
ENGAPI PVOID APIENTRY EngFindImageProcAddress (_In_ HANDLE hModule, _In_ LPSTR lpProcName)
 
ENGAPI PVOID APIENTRY EngFindResource (_In_ HANDLE h, _In_ INT iName, _In_ INT iType, _Out_ PULONG pulSize)
 
_Must_inspect_result_ _Ret_opt_bytecap_ (cjSize) ENGAPI PVOID APIENTRY EngFntCacheAlloc(_In_ ULONG ulFastCheckSum
 
ENGAPI VOID APIENTRY EngFntCacheFault (_In_ ULONG ulFastCheckSum, _In_ ULONG iFaultMode)
 
ENGAPI PVOID APIENTRY EngFntCacheLookUp (_In_ ULONG FastCheckSum, _Out_ ULONG *pulSize)
 
ENGAPI VOID APIENTRY EngFreeMem (_Pre_notnull_ __drv_freesMem(Mem) PVOID pv)
 
ENGAPI VOID APIENTRY EngFreePrivateUserMem (_In_ PDD_SURFACE_LOCAL psl, _Pre_notnull_ __drv_freesMem(PrivateUserMem) PVOID pv)
 
ENGAPI VOID APIENTRY EngFreeUserMem (_Pre_notnull_ __drv_freesMem(UserMem) PVOID pv)
 
ENGAPI VOID APIENTRY EngFreeModule (_In_ _Post_invalid_ HANDLE h)
 
ENGAPI VOID APIENTRY EngGetCurrentCodePage (_Out_ PUSHORT OemCodePage, _Out_ PUSHORT AnsiCodePage)
 
ENGAPI HANDLE APIENTRY EngGetCurrentProcessId (VOID)
 
ENGAPI HANDLE APIENTRY EngGetCurrentThreadId (VOID)
 
_Must_inspect_result_ _Ret_z_ ENGAPI LPWSTR APIENTRY EngGetDriverName (_In_ HDEV hdev)
 
ENGAPI BOOL APIENTRY EngGetFileChangeTime (_In_ HANDLE h, _Out_ LARGE_INTEGER *pChangeTime)
 
ENGAPI BOOL APIENTRY EngGetFilePath (_In_ HANDLE h, _Out_ WCHAR(*pDest)[MAX_PATH+1])
 
ENGAPI BOOL APIENTRY EngGetForm (_In_ HANDLE hPrinter, _In_ LPWSTR pFormName, _In_ DWORD Level, _In_reads_bytes_opt_(cbBuf) LPBYTE pForm, _In_ DWORD cbBuf, _Out_ LPDWORD pcbNeeded)
 
ENGAPI ULONG APIENTRY EngGetLastError (VOID)
 
ENGAPI BOOL APIENTRY EngGetPrinter (_In_ HANDLE hPrinter, _In_ DWORD dwLevel, _Out_writes_bytes_opt_(cbBuf) LPBYTE pPrinter, _In_ DWORD cbBuf, _Out_ LPDWORD pcbNeeded)
 
ENGAPI DWORD APIENTRY EngGetPrinterData (_In_ HANDLE hPrinter, _In_ LPWSTR pValueName, _Out_opt_ LPDWORD pType, _Out_writes_bytes_opt_(cjSize) LPBYTE pData, _In_ DWORD cjSize, _Out_ LPDWORD pcjNeeded)
 
ENGAPI LPWSTR APIENTRY EngGetPrinterDataFileName (_In_ HDEV hdev)
 
ENGAPI BOOL APIENTRY EngGetPrinterDriver (_In_ HANDLE hPrinter, _In_opt_ LPWSTR pEnvironment, _In_ DWORD dwLevel, _Out_writes_bytes_opt_(cjBufSize) BYTE *lpbDrvInfo, _In_ DWORD cjBufSize, _Out_ DWORD *pcjNeeded)
 
ENGAPI HANDLE APIENTRY EngGetProcessHandle (VOID)
 
ENGAPI BOOL APIENTRY EngGetType1FontList (_In_ HDEV hdev, _Out_writes_bytes_opt_(cjType1Buffer) TYPE1_FONT *pType1Buffer, _In_ ULONG cjType1Buffer, _Out_ PULONG pulLocalFonts, _Out_ PULONG pulRemoteFonts, _Out_ LARGE_INTEGER *pLastModified)
 
ENGAPI BOOL APIENTRY EngGradientFill (_Inout_ SURFOBJ *psoDest, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ TRIVERTEX *pVertex, _In_ ULONG nVertex, _In_ PVOID pMesh, _In_ ULONG nMesh, _In_ RECTL *prclExtents, _In_ POINTL *pptlDitherOrg, _In_ ULONG ulMode)
 
ENGAPI ULONG APIENTRY EngHangNotification (_In_ HDEV hDev, _Reserved_ PVOID Reserved)
 
ENGAPI BOOL APIENTRY EngInitializeSafeSemaphore (_Out_ ENGSAFESEMAPHORE *pssem)
 
ENGAPI BOOL APIENTRY EngIsSemaphoreOwned (_In_ HSEMAPHORE hsem)
 
ENGAPI BOOL APIENTRY EngIsSemaphoreOwnedByCurrentThread (_In_ HSEMAPHORE hsem)
 
ENGAPI BOOL APIENTRY EngLineTo (_Inout_ SURFOBJ *pso, _In_ CLIPOBJ *pco, _In_ BRUSHOBJ *pbo, _In_ LONG x1, _In_ LONG y1, _In_ LONG x2, _In_ LONG y2, _In_opt_ RECTL *prclBounds, _In_ MIX mix)
 
ENGAPI HANDLE APIENTRY EngLoadImage (_In_ LPWSTR pwszDriver)
 
ENGAPI HANDLE APIENTRY EngLoadModule (_In_ LPWSTR pwsz)
 
ENGAPI HANDLE APIENTRY EngLoadModuleForWrite (_In_ LPWSTR pwsz, _In_ ULONG cjSizeOfModule)
 
ENGAPI PDD_SURFACE_LOCAL APIENTRY EngLockDirectDrawSurface (_In_ HANDLE hSurface)
 
ENGAPI DRIVEROBJ *APIENTRY EngLockDriverObj (_In_ HDRVOBJ hdo)
 
ENGAPI SURFOBJ *APIENTRY EngLockSurface (_In_ HSURF hsurf)
 
ENGAPI BOOL APIENTRY EngLpkInstalled (VOID)
 
ENGAPI PEVENT APIENTRY EngMapEvent (_In_ HDEV hDev, _In_ HANDLE hUserObject, _Reserved_ PVOID Reserved1, _Reserved_ PVOID Reserved2, _Reserved_ PVOID Reserved3)
 
 _At_ (return, _Out_writes_bytes_(cjSize))) ENGAPI PVOID APIENTRY EngMapFile(_In_ LPWSTR pwsz
 
 __drv_preferredFunction ("EngMapFontFileFD", "Obsolete") _Check_return_ _Success_(return!
 
_Check_return_ _Success_ (return!=FALSE) ENGAPI BOOL APIENTRY EngMapFontFileFD(_In_ ULONG_PTR iFile
 
ENGAPI BOOL APIENTRY EngMarkBandingSurface (_In_ HSURF hsurf)
 
ENGAPI BOOL APIENTRY EngModifySurface (_In_ HSURF hsurf, _In_ HDEV hdev, _In_ FLONG flHooks, _In_ FLONG flSurface, _In_ DHSURF dhsurf, _In_ PVOID pvScan0, _In_ LONG lDelta, _Reserved_ PVOID pvReserved)
 
ENGAPI VOID APIENTRY EngMovePointer (_In_ SURFOBJ *pso, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl)
 
ENGAPI INT APIENTRY EngMulDiv (_In_ INT a, _In_ INT b, _In_ INT c)
 
ENGAPI VOID APIENTRY EngMultiByteToUnicodeN (_Out_writes_bytes_to_(MaxBytesInUnicodeString, *BytesInUnicodeString) LPWSTR UnicodeString, _In_ ULONG MaxBytesInUnicodeString, _Out_opt_ PULONG BytesInUnicodeString, _In_reads_bytes_(BytesInMultiByteString) PCHAR MultiByteString, _In_ ULONG BytesInMultiByteString)
 
ENGAPI INT APIENTRY EngMultiByteToWideChar (_In_ UINT CodePage, _Out_writes_bytes_opt_(cjWideCharString) LPWSTR WideCharString, _In_ INT cjWideCharString, _In_reads_bytes_opt_(cjMultiByteString) LPSTR MultiByteString, _In_ INT cjMultiByteString)
 
ENGAPI BOOL APIENTRY EngPaint (_In_ SURFOBJ *pso, _In_ CLIPOBJ *pco, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ __in_data_source(USER_MODE) MIX mix)
 
ENGAPI BOOL APIENTRY EngPlgBlt (_In_ SURFOBJ *psoTrg, _In_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMsk, _In_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ COLORADJUSTMENT *pca, _In_ POINTL *pptlBrushOrg, _In_ POINTFIX *pptfx, _In_ RECTL *prcl, _When_(psoMsk, _In_) POINTL *pptl, _In_ __in_data_source(USER_MODE) ULONG iMode)
 
ENGAPI VOID APIENTRY EngProbeForRead (_In_reads_bytes_(Length) PVOID Address, _In_ SIZE_T Length, _In_ ULONG Alignment)
 
ENGAPI VOID APIENTRY EngProbeForReadAndWrite (_Inout_updates_bytes_(Length) PVOID Address, _In_ SIZE_T Length, _In_ ULONG Alignment)
 
ENGAPI BOOL APIENTRY EngQueryDeviceAttribute (_In_ HDEV hdev, _In_ ENG_DEVICE_ATTRIBUTE devAttr, _In_reads_bytes_(cjInSize) PVOID pvIn, _In_ ULONG cjInSize, _Out_writes_bytes_(cjOutSize) PVOID pvOut, _In_ ULONG cjOutSize)
 
DECLSPEC_DEPRECATED_DDK BOOL APIENTRY EngQueryEMFInfo (_In_ HDEV hdev, _Out_ EMFINFO *pEMFInfo)
 
ENGAPI LARGE_INTEGER APIENTRY EngQueryFileTimeStamp (_In_ LPWSTR pwsz)
 
ENGAPI VOID APIENTRY EngQueryLocalTime (_Out_ PENG_TIME_FIELDS ptf)
 
ENGAPI ULONG APIENTRY EngQueryPalette (_In_ HPALETTE hPal, _Out_ ULONG *piMode, _In_ ULONG cColors, _Out_writes_opt_(cColors) ULONG *pulColors)
 
ENGAPI VOID APIENTRY EngQueryPerformanceCounter (_Out_ LONGLONG *pPerformanceCount)
 
ENGAPI VOID APIENTRY EngQueryPerformanceFrequency (_Out_ LONGLONG *pFrequency)
 
ENGAPI LONG APIENTRY EngReadStateEvent (_In_ PEVENT pEvent)
 
_Requires_lock_held_ hsem _Releases_lock_ hsem _Releases_lock_ (_Global_critical_region_) ENGAPI VOID APIENTRY EngReleaseSemaphore(_Inout_ HSEMAPHORE hsem)
 
_Check_return_ _Kernel_requires_resource_held_ (EngFloatState) _Kernel_releases_resource_(EngFloatState)) ENGAPI BOOL APIENTRY EngRestoreFloatingPointState(_In_reads_(_Inexpressible_(statesize)) PVOID pBuffer)
 
_Check_return_ _Success_ (((pBuffer !=NULL &&cjBufferSize !=0) &&return==1)||((pBuffer==NULL||cjBufferSize==0) &&return > 0)) _When_(pBuffer !
 
_Check_return_ _Kernel_float_saved_ _At_pBuffer (EngFloatState))) _On_failure_(_Post_satisfies_(return==0)) ENGAPIULONGAPIENTRYEngSaveFloatingPointState(_At_(*pBuffer, _Kernel_requires_resource_not_held_(EngFloatState)) _Out_writes_bytes_opt_(cjBufferSize) PVOID pBuffer, _Inout_ ULONG cjBufferSize
 
ENGAPI HANDLE APIENTRY EngSecureMem (_In_reads_bytes_(cjLength) PVOID Address, _In_ ULONG cjLength)
 
ENGAPI LONG APIENTRY EngSetEvent (_In_ PEVENT pEvent)
 
ENGAPI VOID APIENTRY EngSetLastError (_In_ ULONG iError)
 
ENGAPI ULONG APIENTRY EngSetPointerShape (_In_ SURFOBJ *pso, _In_opt_ SURFOBJ *psoMask, _In_opt_ SURFOBJ *psoColor, _In_opt_ XLATEOBJ *pxlo, _In_ LONG xHot, _In_ LONG yHot, _In_ LONG x, _In_ LONG y, _In_ RECTL *prcl, _In_ FLONG fl)
 
 __drv_preferredFunction ("(see documentation)", "Obsolete, always returns false. ") ENGAPI BOOL APIENTRY EngSetPointerTag(_In_ HDEV hdev
 
ENGAPI DWORD APIENTRY EngSetPrinterData (_In_ HANDLE hPrinter, _In_ LPWSTR pType, _In_ DWORD dwType, _In_reads_bytes_(cjPrinterData) LPBYTE lpbPrinterData, _In_ DWORD cjPrinterData)
 
typedef int (__cdecl *SORTCOMP)(const void *pv1
 
ENGAPI VOID APIENTRY EngSort (_Inout_updates_bytes_(c *cjElem) PBYTE pjBuf, _In_ ULONG c, _In_ ULONG cjElem, _In_ SORTCOMP pfnComp)
 
ENGAPI BOOL APIENTRY EngStretchBlt (_In_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _When_(psoMask, _In_) POINTL *pptlMask, _In_ ULONG iMode)
 
ENGAPI BOOL APIENTRY EngStretchBltROP (_In_ SURFOBJ *psoDest, _In_ SURFOBJ *psoSrc, _In_opt_ SURFOBJ *psoMask, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_opt_ COLORADJUSTMENT *pca, _In_ POINTL *pptlHTOrg, _In_ RECTL *prclDest, _In_ RECTL *prclSrc, _When_(psoMask, _In_) POINTL *pptlMask, _In_ ULONG iMode, _In_opt_ BRUSHOBJ *pbo, _In_ DWORD rop4)
 
ENGAPI BOOL APIENTRY EngStrokeAndFillPath (_Inout_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pboStroke, _In_ LINEATTRS *plineattrs, _In_ BRUSHOBJ *pboFill, _In_ POINTL *pptlBrushOrg, _In_ __in_data_source(USER_MODE) MIX mixFill, _In_ __in_data_source(USER_MODE) FLONG flOptions)
 
ENGAPI BOOL APIENTRY EngStrokePath (_In_ SURFOBJ *pso, _In_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ XFORMOBJ *pxo, _In_ BRUSHOBJ *pbo, _In_ POINTL *pptlBrushOrg, _In_ LINEATTRS *plineattrs, _In_ MIX mix)
 
ENGAPI BOOL APIENTRY EngTextOut (_In_ SURFOBJ *pso, _In_ STROBJ *pstro, _In_ FONTOBJ *pfo, _In_ CLIPOBJ *pco, _Null_ RECTL *prclExtra, _In_opt_ RECTL *prclOpaque, _In_ BRUSHOBJ *pboFore, _In_ BRUSHOBJ *pboOpaque, _In_ POINTL *pptlOrg, _In_ MIX mix)
 
ENGAPI BOOL APIENTRY EngTransparentBlt (_In_ SURFOBJ *psoDst, _In_ SURFOBJ *psoSrc, _In_opt_ CLIPOBJ *pco, _In_opt_ XLATEOBJ *pxlo, _In_ RECTL *prclDst, _In_ RECTL *prclSrc, _In_ ULONG iTransColor, _In_ ULONG ulReserved)
 
ENGAPI VOID APIENTRY EngUnicodeToMultiByteN (_Out_writes_bytes_to_(cjMultiByteBuf, *pcjMultiByteString) PCHAR pchMultiByteString, _In_ ULONG cjMultiByteBuf, _Out_opt_ PULONG pcjMultiByteString, _In_reads_bytes_(cjUnicodeString) PWSTR pwszUnicodeString, _In_ ULONG cjUnicodeString)
 
ENGAPI VOID APIENTRY EngUnloadImage (_In_ HANDLE hModule)
 
ENGAPI BOOL APIENTRY EngUnlockDirectDrawSurface (_In_ PDD_SURFACE_LOCAL pSurface)
 
ENGAPI BOOL APIENTRY EngUnlockDriverObj (_In_ _Post_ptr_invalid_ HDRVOBJ hdo)
 
ENGAPI VOID APIENTRY EngUnlockSurface (_In_ _Post_ptr_invalid_ SURFOBJ *pso)
 
ENGAPI BOOL APIENTRY EngUnmapEvent (_In_ PEVENT pEvent)
 
ENGAPI BOOL APIENTRY EngUnmapFile (_In_ ULONG_PTR iFile)
 
 __drv_preferredFunction ("EngUnmapFontFileFD", "Obsolete") ENGAPI VOID APIENTRY EngUnmapFontFile(_In_ ULONG_PTR iFile)
 
ENGAPI VOID APIENTRY EngUnmapFontFileFD (_In_ ULONG_PTR iFile)
 
ENGAPI VOID APIENTRY EngUnsecureMem (_In_ HANDLE hSecure)
 
ENGAPI BOOL APIENTRY EngWaitForSingleObject (_In_ PEVENT pEvent, _In_opt_ PLARGE_INTEGER pTimeOut)
 
ENGAPI INT APIENTRY EngWideCharToMultiByte (_In_ UINT CodePage, _In_reads_bytes_opt_(cjWideCharString) LPWSTR pwszWideCharString, _In_ INT cjWideCharString, _Out_z_bytecap_(cjMultiByteString) LPSTR pszMultiByteString, _In_ INT cjMultiByteString)
 
ENGAPI BOOL APIENTRY EngWritePrinter (_In_ HANDLE hPrinter, _In_reads_bytes_(cjBuf) LPVOID pvBuf, _In_ DWORD cjBuf, _Out_ LPDWORD pcWritten)
 
ENGAPI ULONG APIENTRY FONTOBJ_cGetAllGlyphHandles (_In_ FONTOBJ *pfo, _Out_opt_ HGLYPH *phg)
 
ENGAPI ULONG APIENTRY FONTOBJ_cGetGlyphs (_In_ FONTOBJ *pfo, _In_ ULONG iMode, _In_ ULONG cGlyph, _In_count_(cGlyph) HGLYPH *phg, _Out_ PVOID *ppvGlyph)
 
ENGAPI FD_GLYPHSET *APIENTRY FONTOBJ_pfdg (_In_ FONTOBJ *pfo)
 
ENGAPI IFIMETRICS *APIENTRY FONTOBJ_pifi (_In_ FONTOBJ *pfo)
 
_Ret_opt_bytecount_ pcjTable ENGAPI PBYTE APIENTRY FONTOBJ_pjOpenTypeTablePointer (_In_ FONTOBJ *pfo, _In_ ULONG ulTag, _Out_ ULONG *pcjTable)
 
ENGAPI PFD_GLYPHATTR APIENTRY FONTOBJ_pQueryGlyphAttrs (_In_ FONTOBJ *pfo, _In_ ULONG iMode)
 
_Ret_opt_bytecount_ pcjFile ENGAPI PVOID APIENTRY FONTOBJ_pvTrueTypeFontFile (_In_ FONTOBJ *pfo, _Out_ ULONG *pcjFile)
 
ENGAPI LPWSTR APIENTRY FONTOBJ_pwszFontFilePaths (_In_ FONTOBJ *pfo, _Out_ ULONG *pcwc)
 
ENGAPI XFORMOBJ *APIENTRY FONTOBJ_pxoGetXform (_In_ FONTOBJ *pfo)
 
ENGAPI VOID APIENTRY FONTOBJ_vGetInfo (_In_ FONTOBJ *pfo, _In_ ULONG cjSize, _Out_bytecap_(cjSize) FONTINFO *pfi)
 
GAMMA_TABLES *APIENTRY FONTOBJ_pGetGammaTables (_In_ FONTOBJ *pfo)
 
ENGAPI LONG APIENTRY HT_ComputeRGBGammaTable (_In_ USHORT GammaTableEntries, _In_ USHORT GammaTableType, _In_ USHORT RedGamma, _In_ USHORT GreenGamma, _In_ USHORT BlueGamma, _Out_writes_bytes_(GammaTableEntries *3) LPBYTE pGammaTable)
 
ENGAPI LONG APIENTRY HT_Get8BPPFormatPalette (_Out_opt_ LPPALETTEENTRY pPaletteEntry, _In_ USHORT RedGamma, _In_ USHORT GreenGamma, _In_ USHORT BlueGamma)
 
ENGAPI LONG APIENTRY HT_Get8BPPMaskPalette (_Out_opt_ LPPALETTEENTRY pPaletteEntry, _In_ BOOL Use8BPPMaskPal, _In_ BYTE CMYMask, _In_ USHORT RedGamma, _In_ USHORT GreenGamma, _In_ USHORT BlueGamma)
 
ENGAPI LONG APIENTRY HTUI_DeviceColorAdjustment (_In_ LPSTR pDeviceName, _Out_ PDEVHTADJDATA pDevHTAdjData)
 
ENGAPI ULONG APIENTRY PALOBJ_cGetColors (_In_ PALOBJ *ppalo, _In_ ULONG iStart, _In_ ULONG cColors, _Out_writes_(cColors) ULONG *pulColors)
 
ENGAPI BOOL APIENTRY PATHOBJ_bCloseFigure (_In_ PATHOBJ *ppo)
 
ENGAPI BOOL APIENTRY PATHOBJ_bEnum (_In_ PATHOBJ *ppo, _Out_ PATHDATA *ppd)
 
ENGAPI BOOL APIENTRY PATHOBJ_bEnumClipLines (_In_ PATHOBJ *ppo, _In_ ULONG cj, _Out_bytecap_(cj) CLIPLINE *pcl)
 
ENGAPI BOOL APIENTRY PATHOBJ_bMoveTo (_In_ PATHOBJ *ppo, _In_ POINTFIX ptfx)
 
ENGAPI BOOL APIENTRY PATHOBJ_bPolyBezierTo (_In_ PATHOBJ *ppo, _In_count_(cptfx) POINTFIX *pptfx, _In_ ULONG cptfx)
 
ENGAPI BOOL APIENTRY PATHOBJ_bPolyLineTo (_In_ PATHOBJ *ppo, _In_count_(cptfx) POINTFIX *pptfx, _In_ ULONG cptfx)
 
ENGAPI VOID APIENTRY PATHOBJ_vEnumStart (_Inout_ PATHOBJ *ppo)
 
ENGAPI VOID APIENTRY PATHOBJ_vEnumStartClipLines (_Inout_ PATHOBJ *ppo, _In_ CLIPOBJ *pco, _In_ SURFOBJ *pso, _In_ LINEATTRS *pla)
 
ENGAPI VOID APIENTRY PATHOBJ_vGetBounds (_In_ PATHOBJ *ppo, _Out_ PRECTFX prectfx)
 
ENGAPI BOOL APIENTRY STROBJ_bEnum (_Inout_ STROBJ *pstro, _Out_ ULONG *pc, _Out_ PGLYPHPOS *ppgpos)
 
ENGAPI BOOL APIENTRY STROBJ_bEnumPositionsOnly (_In_ STROBJ *pstro, _Out_ ULONG *pc, _Out_ PGLYPHPOS *ppgpos)
 
ENGAPI BOOL APIENTRY STROBJ_bGetAdvanceWidths (_In_ STROBJ *pso, _In_ ULONG iFirst, _In_ ULONG c, _Out_cap_(c) POINTQF *pptqD)
 
ENGAPI DWORD APIENTRY STROBJ_dwGetCodePage (_In_ STROBJ *pstro)
 
ENGAPI FIX APIENTRY STROBJ_fxBreakExtra (_In_ STROBJ *pstro)
 
ENGAPI FIX APIENTRY STROBJ_fxCharacterExtra (_In_ STROBJ *pstro)
 
ENGAPI VOID APIENTRY STROBJ_vEnumStart (_Inout_ STROBJ *pstro)
 
ENGAPI BOOL APIENTRY WNDOBJ_bEnum (_Inout_ WNDOBJ *pwo, _In_ ULONG cj, _Out_bytecap_(cj) ULONG *pul)
 
ENGAPI ULONG APIENTRY WNDOBJ_cEnumStart (_Inout_ WNDOBJ *pwo, _In_ ULONG iType, _In_ ULONG iDirection, _In_ ULONG cLimit)
 
ENGAPI VOID APIENTRY WNDOBJ_vSetConsumer (_Inout_ WNDOBJ *pwo, _In_ PVOID pvConsumer)
 
ENGAPI BOOL APIENTRY XFORMOBJ_bApplyXform (_In_ XFORMOBJ *pxo, _In_ ULONG iMode, _In_ ULONG cPoints, _In_reads_bytes_(cPoints *sizeof(POINTL)) PVOID pvIn, _Out_writes_bytes_(cPoints *sizeof(POINTL)) PVOID pvOut)
 
DECLSPEC_DEPRECATED_DDK ENGAPI HANDLE APIENTRY XFORMOBJ_cmGetTransform (XFORMOBJ *pxo)
 
ENGAPI ULONG APIENTRY XFORMOBJ_iGetFloatObjXform (_In_ XFORMOBJ *pxo, _Out_ FLOATOBJ_XFORM *pxfo)
 
ENGAPI ULONG APIENTRY XFORMOBJ_iGetXform (_In_ XFORMOBJ *pxo, _Out_ XFORML *pxform)
 
ENGAPI ULONG APIENTRY XLATEOBJ_cGetPalette (_In_ XLATEOBJ *pxlo, _In_ ULONG iPal, _In_ ULONG cPal, _Out_cap_(cPal) ULONG *pPal)
 
ENGAPI HANDLE APIENTRY XLATEOBJ_hGetColorTransform (_In_ XLATEOBJ *pxlo)
 
ENGAPI ULONG APIENTRY XLATEOBJ_iXlate (_In_ XLATEOBJ *pxlo, _In_ ULONG iColor)
 
ENGAPI ULONG *APIENTRY XLATEOBJ_piVector (_In_ XLATEOBJ *pxlo)
 
ENGAPI VOID APIENTRY EngBugCheckEx (_In_ ULONG BugCheckCode, _In_ ULONG_PTR P1, _In_ ULONG_PTR P2, _In_ ULONG_PTR P3, _In_ ULONG_PTR P4)
 
ENGAPI HANDLE APIENTRY EngCreateRectRgn (_In_ INT left, _In_ INT top, _In_ INT right, _In_ INT bottom)
 
ENGAPI VOID APIENTRY EngDeleteRgn (_In_ HANDLE hrgn)
 
ENGAPI INT APIENTRY EngCombineRgn (_In_ HANDLE hrgnTrg, _In_ HANDLE hrgnSrc1, _In_ HANDLE hrgnSrc2, _In_ INT iMode)
 
ENGAPI INT APIENTRY EngCopyRgn (_In_ HANDLE hrgnDst, _In_ HANDLE hrgnSrc)
 
ENGAPI INT APIENTRY EngIntersectRgn (_In_ HANDLE hrgnResult, _In_ HANDLE hRgnA, _In_ HANDLE hRgnB)
 
ENGAPI INT APIENTRY EngSubtractRgn (_In_ HANDLE hrgnResult, _In_ HANDLE hRgnA, _In_ HANDLE hRgnB)
 
ENGAPI INT APIENTRY EngUnionRgn (_In_ HANDLE hrgnResult, _In_ HANDLE hRgnA, _In_ HANDLE hRgnB)
 
ENGAPI INT APIENTRY EngXorRgn (_In_ HANDLE hrgnResult, _In_ HANDLE hRgnA, _In_ HANDLE hRgnB)
 
ENGAPI BOOL APIENTRY EngRectInRgn (_In_ HANDLE hrgn, _In_ LPRECT prcl)
 
ENGAPI BOOL APIENTRY EngEqualRgn (_In_ HANDLE hrgn1, _In_ HANDLE hrgn2)
 
ENGAPI DWORD APIENTRY EngGetRgnData (_In_ HANDLE hrgn, _In_ DWORD nCount, _Out_cap_(nCount) LPRGNDATA lpRgnData)
 
ENGAPI BOOL APIENTRY EngSetRectRgn (_In_ HANDLE hrgn, _In_ INT left, _In_ INT top, _In_ INT right, _In_ INT bottom)
 
ENGAPI INT APIENTRY EngGetRgnBox (_In_ HANDLE hrgn, _Out_ LPRECT prcl)
 
ENGAPI INT APIENTRY EngOffsetRgn (_In_ HANDLE hrgn, _In_ INT x, _In_ INT y)
 
ENGAPI VOID APIENTRY EngRenderHint (_In_ DHPDEV dhpdev, _In_ ULONG NotifyCode, _In_ SIZE_T Length, _In_reads_bytes_opt_(Length) PVOID Data)
 
_Requires_lock_not_held_ hsem _Acquires_exclusive_lock_ hsem _Acquires_lock_ (_Global_critical_region_) ENGAPI VOID APIENTRY EngAcquireSemaphore(_Inout_ HSEMAPHORE hsem)
 
ENGAPI BOOL APIENTRY EngAcquireSemaphoreNoWait (_In_ HSEMAPHORE hsem)
 
ENGAPI BOOL APIENTRY EngIsSemaphoreSharedByCurrentThread (_In_ HSEMAPHORE hsem)
 
 DECLARE_HANDLE (HFASTMUTEX)
 
ENGAPI HFASTMUTEX APIENTRY EngCreateFastMutex (VOID)
 
ENGAPI VOID APIENTRY EngDeleteFastMutex (_In_ HFASTMUTEX hfm)
 
ENGAPI VOID APIENTRY EngAcquireFastMutex (_In_ HFASTMUTEX hfm)
 
ENGAPI VOID APIENTRY EngReleaseFastMutex (_In_ HFASTMUTEX hfm)
 
ENGAPI BOOL APIENTRY EngUpdateDeviceSurface (_In_ SURFOBJ *pso, _Inout_ CLIPOBJ **ppco)
 
ENGAPI HBITMAP APIENTRY EngCreateRedirectionDeviceBitmap (__in_data_source(USER_MODE) DHSURF dhsurf, __in_data_source(USER_MODE) SIZEL sizl, _In_ ULONG iFormatCompat)
 
VOID APIENTRY EngCTGetGammaTable (_In_ ULONG ulGamma, _Out_ CONST BYTE **pGammaTable, _Out_ CONST BYTE **pInverseGammaTable)
 
ULONG APIENTRY EngCTGetCurrentGamma (_In_ HDEV hdev)
 
typedef BOOL (APIENTRY FN_DrvAlphaBlend)(_Inout_ SURFOBJ *psoDest
 
typedef VOID (APIENTRY FN_DrvCompletePDEV)(_In_ DHPDEV dhpdev
 
typedef HBITMAP (APIENTRY FN_DrvCreateDeviceBitmap)(_In_ DHPDEV dhpdev
 
typedef LONG (APIENTRY FN_DrvDescribePixelFormat)(_In_ DHPDEV dhpdev
 
typedef ULONG (APIENTRY FN_DrvDitherColor)(_In_ DHPDEV dhpdev
 
typedef DHPDEV (APIENTRY FN_DrvEnablePDEV)(_In_ DEVMODEW *pdm
 
typedef HSURF (APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)
 
typedef PVOID (APIENTRY FN_DrvGetTrueTypeFile)(_In_ ULONG_PTR iFile
 
typedef HANDLE (APIENTRY FN_DrvIcmCreateColorTransform)(_In_ DHPDEV dhpdev
 
typedef ULONG_PTR (APIENTRY FN_DrvLoadFontFile)(_In_ ULONG cFiles
 
typedef _Out_bytecap_ (cjBuf) PVOID pBuffer
 
typedef PIFIMETRICS (APIENTRY FN_DrvQueryFont)(_In_ DHPDEV dhpdev
 
typedef _Out_cap_ (culCaps) ULONG *pulCaps)
 
typedef PFD_GLYPHATTR (APIENTRY FN_DrvQueryGlyphAttrs)(_In_ FONTOBJ *pfo
 
typedef _In_count_c_ (0) RECTL *prcl)
 
typedef INT (APIENTRY FN_EngCombineRgn)(_In_ HANDLE hrgnTrg
 

Variables

_Must_inspect_result_ _In_ ULONG cjMemSize
 
_In_ INT nFirstChar
 
_In_ INT _In_ INT cChars
 
_In_ DWORD dwIoControlCode
 
_In_ DWORD _In_ DWORD cjInBufferSize
 
_In_ DWORD _In_ DWORD _In_ DWORD cjOutBufferSize
 
_In_ DWORD _In_ DWORD _In_ DWORD _Out_ LPDWORD lpBytesReturned
 
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONGppjBuf
 
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONG _Out_ ULONGpcjBuf
 
_Check_return_ _Out_ PULONG pulSize
 
_Check_return_ _Out_ PDWORD pCapability
 
FN_DrvAlphaBlend DrvAlphaBlend
 
FN_DrvAssertMode DrvAssertMode
 
FN_DrvBitBlt DrvBitBlt
 
FN_DrvCompletePDEV DrvCompletePDEV
 
FN_DrvCopyBits DrvCopyBits
 
FN_DrvCreateDeviceBitmap DrvCreateDeviceBitmap
 
FN_DrvDeleteDeviceBitmap DrvDeleteDeviceBitmap
 
FN_DrvDeriveSurface DrvDeriveSurface
 
FN_DrvDescribePixelFormat DrvDescribePixelFormat
 
FN_DrvDestroyFont DrvDestroyFont
 
FN_DrvDisableDriver DrvDisableDriver
 
FN_DrvDisablePDEV DrvDisablePDEV
 
FN_DrvDisableSurface DrvDisableSurface
 
FN_DrvDitherColor DrvDitherColor
 
FN_DrvDrawEscape DrvDrawEscape
 
FN_DrvEnableDriver DrvEnableDriver
 
FN_DrvEnablePDEV DrvEnablePDEV
 
FN_DrvEnableSurface DrvEnableSurface
 
FN_DrvEndDoc DrvEndDoc
 
FN_DrvEscape DrvEscape
 
FN_DrvFillPath DrvFillPath
 
FN_DrvFontManagement DrvFontManagement
 
FN_DrvFree DrvFree
 
FN_DrvGetGlyphMode DrvGetGlyphMode
 
FN_DrvGetModes DrvGetModes
 
FN_DrvGetTrueTypeFile DrvGetTrueTypeFile
 
FN_DrvGradientFill DrvGradientFill
 
FN_DrvIcmCheckBitmapBits DrvIcmCheckBitmapBits
 
FN_DrvIcmCreateColorTransform DrvIcmCreateColorTransform
 
FN_DrvIcmDeleteColorTransform DrvIcmDeleteColorTransform
 
FN_DrvIcmSetDeviceGammaRamp DrvIcmSetDeviceGammaRamp
 
FN_DrvLineTo DrvLineTo
 
FN_DrvLoadFontFile DrvLoadFontFile
 
FN_DrvMovePointer DrvMovePointer
 
FN_DrvNextBand DrvNextBand
 
FN_DrvNotify DrvNotify
 
FN_DrvOffset DrvOffset
 
FN_DrvPaint DrvPaint
 
FN_DrvPlgBlt DrvPlgBlt
 
FN_DrvQueryAdvanceWidths DrvQueryAdvanceWidths
 
FN_DrvQueryDeviceSupport DrvQueryDeviceSupport
 
FN_DrvQueryDriverInfo DrvQueryDriverInfo
 
FN_DrvQueryFont DrvQueryFont
 
FN_DrvQueryFontCaps DrvQueryFontCaps
 
FN_DrvQueryFontData DrvQueryFontData
 
FN_DrvQueryFontFile DrvQueryFontFile
 
FN_DrvQueryFontTree DrvQueryFontTree
 
FN_DrvQueryGlyphAttrs DrvQueryGlyphAttrs
 
FN_DrvQueryPerBandInfo DrvQueryPerBandInfo
 
FN_DrvQueryTrueTypeOutline DrvQueryTrueTypeOutline
 
FN_DrvQueryTrueTypeTable DrvQueryTrueTypeTable
 
FN_DrvRealizeBrush DrvRealizeBrush
 
FN_DrvResetDevice DrvResetDevice
 
FN_DrvResetPDEV DrvResetPDEV
 
FN_DrvSaveScreenBits DrvSaveScreenBits
 
FN_DrvSendPage DrvSendPage
 
FN_DrvSetPalette DrvSetPalette
 
FN_DrvSetPixelFormat DrvSetPixelFormat
 
FN_DrvSetPointerShape DrvSetPointerShape
 
FN_DrvStartBanding DrvStartBanding
 
FN_DrvStartDoc DrvStartDoc
 
FN_DrvStartPage DrvStartPage
 
FN_DrvStretchBlt DrvStretchBlt
 
FN_DrvStretchBltROP DrvStretchBltROP
 
FN_DrvStrokeAndFillPath DrvStrokeAndFillPath
 
FN_DrvStrokePath DrvStrokePath
 
FN_DrvSwapBuffers DrvSwapBuffers
 
FN_DrvSynchronize DrvSynchronize
 
FN_DrvSynchronizeSurface DrvSynchronizeSurface
 
FN_DrvTextOut DrvTextOut
 
FN_DrvTransparentBlt DrvTransparentBlt
 
FN_DrvUnloadFontFile DrvUnloadFontFile
 
FN_DrvDisableDirectDraw DrvDisableDirectDraw
 
FN_DrvEnableDirectDraw DrvEnableDirectDraw
 
FN_DrvGetDirectDrawInfo DrvGetDirectDrawInfo
 
FN_DrvQuerySpoolType DrvQuerySpoolType
 
typedef ULONG
 
FN_DrvQueryTrueTypeSection DrvQueryTrueTypeSection
 
FN_DrvMovePanning DrvMovePanning
 
FN_DrvRenderHint DrvRenderHint
 
FN_DrvCreateDeviceBitmapEx DrvCreateDeviceBitmapEx
 
FN_DrvDeleteDeviceBitmapEx DrvDeleteDeviceBitmapEx
 
FN_DrvAssociateSharedSurface DrvAssociateSharedSurface
 
FN_DrvSynchronizeRedirectionBitmaps DrvSynchronizeRedirectionBitmaps
 
FN_DrvAccumulateD3DDirtyRect DrvAccumulateD3DDirtyRect
 
FN_DrvStartDxInterop DrvStartDxInterop
 
FN_DrvEndDxInterop DrvEndDxInterop
 
FN_DrvLockDisplayArea DrvLockDisplayArea
 
FN_DrvUnlockDisplayArea DrvUnlockDisplayArea
 

Macro Definition Documentation

◆ __EXTERN_C

#define __EXTERN_C

Definition at line 59 of file winddi.h.

◆ BMF_16BPP

#define BMF_16BPP   4L

Definition at line 358 of file winddi.h.

◆ BMF_1BPP

#define BMF_1BPP   1L

Definition at line 355 of file winddi.h.

◆ BMF_24BPP

#define BMF_24BPP   5L

Definition at line 359 of file winddi.h.

◆ BMF_32BPP

#define BMF_32BPP   6L

Definition at line 360 of file winddi.h.

◆ BMF_4BPP

#define BMF_4BPP   2L

Definition at line 356 of file winddi.h.

◆ BMF_4RLE

#define BMF_4RLE   7L

Definition at line 361 of file winddi.h.

◆ BMF_8BPP

#define BMF_8BPP   3L

Definition at line 357 of file winddi.h.

◆ BMF_8RLE

#define BMF_8RLE   8L

Definition at line 362 of file winddi.h.

◆ BMF_ACC_NOTIFY

#define BMF_ACC_NOTIFY   0x8000

Definition at line 1192 of file winddi.h.

◆ BMF_DONTCACHE

#define BMF_DONTCACHE   0x0004

Definition at line 1182 of file winddi.h.

◆ BMF_JPEG

#define BMF_JPEG   9L

Definition at line 363 of file winddi.h.

◆ BMF_KMSECTION

#define BMF_KMSECTION   0x0010

Definition at line 1184 of file winddi.h.

◆ BMF_NOTSYSMEM

#define BMF_NOTSYSMEM   0x0020

Definition at line 1185 of file winddi.h.

◆ BMF_NOZEROINIT

#define BMF_NOZEROINIT   0x0002

Definition at line 1181 of file winddi.h.

◆ BMF_PNG

#define BMF_PNG   10L

Definition at line 364 of file winddi.h.

◆ BMF_RESERVED

#define BMF_RESERVED   0x3E00

Definition at line 1197 of file winddi.h.

◆ BMF_RMT_ENTER

#define BMF_RMT_ENTER   0x4000

Definition at line 1193 of file winddi.h.

◆ BMF_TEMP_ALPHA

#define BMF_TEMP_ALPHA   0x0100

Definition at line 1189 of file winddi.h.

◆ BMF_TOPDOWN

#define BMF_TOPDOWN   0x0001

Definition at line 1180 of file winddi.h.

◆ BMF_UMPDMEM

#define BMF_UMPDMEM   0x0080

Definition at line 1187 of file winddi.h.

◆ BMF_USERMEM

#define BMF_USERMEM   0x0008

Definition at line 1183 of file winddi.h.

◆ BMF_WINDOW_BLT

#define BMF_WINDOW_BLT   0x0040

Definition at line 1186 of file winddi.h.

◆ BR_CMYKCOLOR

#define BR_CMYKCOLOR   0x04

Definition at line 230 of file winddi.h.

◆ BR_DEVICE_ICM

#define BR_DEVICE_ICM   0x01

Definition at line 228 of file winddi.h.

◆ BR_HOST_ICM

#define BR_HOST_ICM   0x02

Definition at line 229 of file winddi.h.

◆ BR_ORIGCOLOR

#define BR_ORIGCOLOR   0x08

Definition at line 231 of file winddi.h.

◆ CD_ANY

#define CD_ANY   0x00000004

Definition at line 1326 of file winddi.h.

◆ CD_LEFTDOWN

#define CD_LEFTDOWN   0x00000001

Definition at line 1321 of file winddi.h.

◆ CD_LEFTUP

#define CD_LEFTUP   0x00000003

Definition at line 1325 of file winddi.h.

◆ CD_LEFTWARDS

#define CD_LEFTWARDS   0x00000001

Definition at line 1322 of file winddi.h.

◆ CD_RIGHTDOWN

#define CD_RIGHTDOWN   0x00000000

Definition at line 1320 of file winddi.h.

◆ CD_RIGHTUP

#define CD_RIGHTUP   0x00000002

Definition at line 1323 of file winddi.h.

◆ CD_UPWARDS

#define CD_UPWARDS   0x00000002

Definition at line 1324 of file winddi.h.

◆ CDBEX_DXINTEROP

#define CDBEX_DXINTEROP   0x00000002

Definition at line 4340 of file winddi.h.

◆ CDBEX_REDIRECTION

#define CDBEX_REDIRECTION   0x00000001

Definition at line 4339 of file winddi.h.

◆ CT_RECTANGLES

#define CT_RECTANGLES   0L

Definition at line 1317 of file winddi.h.

◆ DC_COMPLEX

#define DC_COMPLEX   3

Definition at line 261 of file winddi.h.

◆ DC_RECT

#define DC_RECT   1

Definition at line 260 of file winddi.h.

◆ DC_TRIVIAL

#define DC_TRIVIAL   0

Definition at line 259 of file winddi.h.

◆ DCR_DRIVER

#define DCR_DRIVER   1

Definition at line 177 of file winddi.h.

◆ DCR_HALFTONE

#define DCR_HALFTONE   2

Definition at line 178 of file winddi.h.

◆ DCR_SOLID

#define DCR_SOLID   0

Definition at line 176 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT4 [1/2]

#define DDI_DRIVER_VERSION_NT4   0x00020000

Definition at line 535 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT4 [2/2]

#define DDI_DRIVER_VERSION_NT4   0x00020000

Definition at line 535 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5 [1/2]

#define DDI_DRIVER_VERSION_NT5   0x00030000

Definition at line 537 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5 [2/2]

#define DDI_DRIVER_VERSION_NT5   0x00030000

Definition at line 537 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5_01 [1/2]

#define DDI_DRIVER_VERSION_NT5_01   0x00030100

Definition at line 538 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5_01 [2/2]

#define DDI_DRIVER_VERSION_NT5_01   0x00030100

Definition at line 538 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5_01_SP1 [1/2]

#define DDI_DRIVER_VERSION_NT5_01_SP1   0x00030101

Definition at line 539 of file winddi.h.

◆ DDI_DRIVER_VERSION_NT5_01_SP1 [2/2]

#define DDI_DRIVER_VERSION_NT5_01_SP1   0x00030101

Definition at line 539 of file winddi.h.

◆ DDI_DRIVER_VERSION_SP3 [1/2]

#define DDI_DRIVER_VERSION_SP3   0x00020003

Definition at line 536 of file winddi.h.

◆ DDI_DRIVER_VERSION_SP3 [2/2]

#define DDI_DRIVER_VERSION_SP3   0x00020003

Definition at line 536 of file winddi.h.

◆ DDI_ERROR

#define DDI_ERROR   0xFFFFFFFF

Definition at line 154 of file winddi.h.

◆ DECLSPEC_IMPORT

#define DECLSPEC_IMPORT   __attribute__((dllimport))

Definition at line 42 of file winddi.h.

◆ DEFINE_GUID

#define DEFINE_GUID (   name,
  l,
  w1,
  w2,
  b1,
  b2,
  b3,
  b4,
  b5,
  b6,
  b7,
  b8 
)     EXTERN_C const GUID FAR name

Definition at line 68 of file winddi.h.

◆ DEFINE_GUIDEX

#define DEFINE_GUIDEX (   name)    EXTERN_C const CDECL GUID name

Definition at line 74 of file winddi.h.

◆ DEVHTADJF_ADDITIVE_DEVICE

#define DEVHTADJF_ADDITIVE_DEVICE   0x00000002

Definition at line 305 of file winddi.h.

◆ DEVHTADJF_COLOR_DEVICE

#define DEVHTADJF_COLOR_DEVICE   0x00000001

Definition at line 304 of file winddi.h.

◆ DM_DEFAULT

#define DM_DEFAULT   0x00000001

Definition at line 1707 of file winddi.h.

◆ DM_MONOCHROME

#define DM_MONOCHROME   0x00000002

Definition at line 1708 of file winddi.h.

◆ DN_ACCELERATION_LEVEL

#define DN_ACCELERATION_LEVEL   1

Definition at line 163 of file winddi.h.

◆ DN_ASSOCIATE_WINDOW

#define DN_ASSOCIATE_WINDOW   5

Definition at line 168 of file winddi.h.

◆ DN_COMPOSITION_CHANGED

#define DN_COMPOSITION_CHANGED   6

Definition at line 169 of file winddi.h.

◆ DN_DEVICE_ORIGIN

#define DN_DEVICE_ORIGIN   2

Definition at line 164 of file winddi.h.

◆ DN_DRAWING_BEGIN

#define DN_DRAWING_BEGIN   4

Definition at line 166 of file winddi.h.

◆ DN_DRAWING_BEGIN_APIBITMAP

#define DN_DRAWING_BEGIN_APIBITMAP   7

Definition at line 170 of file winddi.h.

◆ DN_SLEEP_MODE

#define DN_SLEEP_MODE   3

Definition at line 165 of file winddi.h.

◆ DN_SURFOBJ_DESTRUCTION

#define DN_SURFOBJ_DESTRUCTION   8

Definition at line 171 of file winddi.h.

◆ DRD_ERROR

#define DRD_ERROR   1

Definition at line 3969 of file winddi.h.

◆ DRD_SUCCESS

#define DRD_SUCCESS   0

Definition at line 3968 of file winddi.h.

◆ DRH_APIBITMAP

#define DRH_APIBITMAP   0x00000001

Definition at line 4277 of file winddi.h.

◆ DRVQUERY_USERMODE

#define DRVQUERY_USERMODE   0x00000001

Definition at line 3821 of file winddi.h.

◆ DSS_FLUSH_EVENT

#define DSS_FLUSH_EVENT   0x00000002

Definition at line 4160 of file winddi.h.

◆ DSS_RESERVED

#define DSS_RESERVED   0x00000004

Definition at line 4161 of file winddi.h.

◆ DSS_RESERVED1

#define DSS_RESERVED1   0x00000008

Definition at line 4162 of file winddi.h.

◆ DSS_TIMER_EVENT

#define DSS_TIMER_EVENT   0x00000001

Definition at line 4159 of file winddi.h.

◆ ECS_REDRAW

#define ECS_REDRAW   0x00000002

Definition at line 1490 of file winddi.h.

◆ ECS_TEARDOWN

#define ECS_TEARDOWN   0x00000001

Definition at line 1489 of file winddi.h.

◆ ED_ABORTDOC

#define ED_ABORTDOC   0x00000001

Definition at line 3568 of file winddi.h.

◆ EHN_ERROR

#define EHN_ERROR   0x00000001

Definition at line 1984 of file winddi.h.

◆ EHN_RESTORED

#define EHN_RESTORED   0x00000000

Definition at line 1983 of file winddi.h.

◆ ENDCAP_BUTT

#define ENDCAP_BUTT   2L

Definition at line 1125 of file winddi.h.

◆ ENDCAP_ROUND

#define ENDCAP_ROUND   0L

Definition at line 1123 of file winddi.h.

◆ ENDCAP_SQUARE

#define ENDCAP_SQUARE   1L

Definition at line 1124 of file winddi.h.

◆ ENG_FNT_CACHE_READ_FAULT

#define ENG_FNT_CACHE_READ_FAULT   0x00000001

Definition at line 1795 of file winddi.h.

◆ ENG_FNT_CACHE_WRITE_FAULT

#define ENG_FNT_CACHE_WRITE_FAULT   0x00000002

Definition at line 1796 of file winddi.h.

◆ ENGAPI

#define ENGAPI   DECLSPEC_IMPORT

Definition at line 48 of file winddi.h.

◆ EXTERN_C

#define EXTERN_C   extern

Definition at line 58 of file winddi.h.

◆ FC_COMPLEX

#define FC_COMPLEX   3

Definition at line 266 of file winddi.h.

◆ FC_RECT

#define FC_RECT   1

Definition at line 264 of file winddi.h.

◆ FC_RECT4

#define FC_RECT4   2

Definition at line 265 of file winddi.h.

◆ FD_ERROR

#define FD_ERROR   0xFFFFFFFF

Definition at line 153 of file winddi.h.

◆ FD_NEGATIVE_FONT

#define FD_NEGATIVE_FONT   1L /* Obsolete in Windows 2000 and later */

Definition at line 757 of file winddi.h.

◆ FDM_TYPE_BM_SIDE_CONST

#define FDM_TYPE_BM_SIDE_CONST   0x00000001

Definition at line 588 of file winddi.h.

◆ FDM_TYPE_CHAR_INC_EQUAL_BM_BASE

#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE   0x00000004

Definition at line 590 of file winddi.h.

◆ FDM_TYPE_CONST_BEARINGS

#define FDM_TYPE_CONST_BEARINGS   0x00000010

Definition at line 592 of file winddi.h.

◆ FDM_TYPE_MAXEXT_EQUAL_BM_SIDE

#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE   0x00000002

Definition at line 589 of file winddi.h.

◆ FDM_TYPE_ZERO_BEARINGS

#define FDM_TYPE_ZERO_BEARINGS   0x00000008

Definition at line 591 of file winddi.h.

◆ FF_IGNORED_SIGNATURE

#define FF_IGNORED_SIGNATURE   0x00000002L

Definition at line 549 of file winddi.h.

◆ FF_SIGNATURE_VERIFIED

#define FF_SIGNATURE_VERIFIED   0x00000001L

Definition at line 548 of file winddi.h.

◆ FL_NON_SESSION

#define FL_NON_SESSION   0x00000004

Definition at line 1361 of file winddi.h.

◆ FL_NONPAGED_MEMORY

#define FL_NONPAGED_MEMORY   0x00000002

Definition at line 1359 of file winddi.h.

◆ FL_ZERO_MEMORY

#define FL_ZERO_MEMORY   0x00000001

Definition at line 1358 of file winddi.h.

◆ FLOATOBJ_Add

#define FLOATOBJ_Add (   pf,
  pf1 
)    {*(pf) += *(pf1);}

Definition at line 2818 of file winddi.h.

◆ FLOATOBJ_AddFloat

#define FLOATOBJ_AddFloat (   pf,
  f 
)    {*(pf) += (f);}

Definition at line 2819 of file winddi.h.

◆ FLOATOBJ_AddLong

#define FLOATOBJ_AddLong (   pf,
  l 
)    {*(pf) += (l);}

Definition at line 2820 of file winddi.h.

◆ FLOATOBJ_Div

#define FLOATOBJ_Div (   pf,
  pf1 
)    {*(pf) /= *(pf1);}

Definition at line 2827 of file winddi.h.

◆ FLOATOBJ_DivFloat

#define FLOATOBJ_DivFloat (   pf,
  f 
)    {*(pf) /= (f);}

Definition at line 2828 of file winddi.h.

◆ FLOATOBJ_DivLong

#define FLOATOBJ_DivLong (   pf,
  l 
)    {*(pf) /= (l);}

Definition at line 2829 of file winddi.h.

◆ FLOATOBJ_Equal

#define FLOATOBJ_Equal (   pf,
  pf1 
)    (*(pf) == *(pf1))

Definition at line 2831 of file winddi.h.

◆ FLOATOBJ_EqualLong

#define FLOATOBJ_EqualLong (   pf,
  l 
)    (*(pf) == (FLOAT)(l))

Definition at line 2834 of file winddi.h.

◆ FLOATOBJ_GetFloat

#define FLOATOBJ_GetFloat (   pf)    (*(PULONG)(pf))

Definition at line 2816 of file winddi.h.

◆ FLOATOBJ_GetLong

#define FLOATOBJ_GetLong (   pf)    ((LONG)*(pf))

Definition at line 2817 of file winddi.h.

◆ FLOATOBJ_GreaterThan

#define FLOATOBJ_GreaterThan (   pf,
  pf1 
)    (*(pf) > *(pf1))

Definition at line 2832 of file winddi.h.

◆ FLOATOBJ_GreaterThanLong

#define FLOATOBJ_GreaterThanLong (   pf,
  l 
)    (*(pf) > (FLOAT)(l))

Definition at line 2835 of file winddi.h.

◆ FLOATOBJ_LessThan

#define FLOATOBJ_LessThan (   pf,
  pf1 
)    (*(pf) < *(pf1))

Definition at line 2833 of file winddi.h.

◆ FLOATOBJ_LessThanLong

#define FLOATOBJ_LessThanLong (   pf,
  l 
)    (*(pf) < (FLOAT)(l))

Definition at line 2836 of file winddi.h.

◆ FLOATOBJ_Mul

#define FLOATOBJ_Mul (   pf,
  pf1 
)    {*(pf) *= *(pf1);}

Definition at line 2824 of file winddi.h.

◆ FLOATOBJ_MulFloat

#define FLOATOBJ_MulFloat (   pf,
  f 
)    {*(pf) *= (f);}

Definition at line 2825 of file winddi.h.

◆ FLOATOBJ_MulLong

#define FLOATOBJ_MulLong (   pf,
  l 
)    {*(pf) *= (l);}

Definition at line 2826 of file winddi.h.

◆ FLOATOBJ_Neg

#define FLOATOBJ_Neg (   pf)    {*(pf) = -(*(pf));}

Definition at line 2830 of file winddi.h.

◆ FLOATOBJ_SetFloat

#define FLOATOBJ_SetFloat (   pf,
  f 
)    {*(pf) = (f);}

Definition at line 2814 of file winddi.h.

◆ FLOATOBJ_SetLong

#define FLOATOBJ_SetLong (   pf,
  l 
)    {*(pf) = (FLOAT)(l);}

Definition at line 2815 of file winddi.h.

◆ FLOATOBJ_Sub

#define FLOATOBJ_Sub (   pf,
  pf1 
)    {*(pf) -= *(pf1);}

Definition at line 2821 of file winddi.h.

◆ FLOATOBJ_SubFloat

#define FLOATOBJ_SubFloat (   pf,
  f 
)    {*(pf) -= (f);}

Definition at line 2822 of file winddi.h.

◆ FLOATOBJ_SubLong

#define FLOATOBJ_SubLong (   pf,
  l 
)    {*(pf) -= (l);}

Definition at line 2823 of file winddi.h.

◆ FM_EDITABLE_EMBED

#define FM_EDITABLE_EMBED   0x8

Definition at line 1004 of file winddi.h.

◆ FM_INFO_16BPP

#define FM_INFO_16BPP   0x00000100

Definition at line 1016 of file winddi.h.

◆ FM_INFO_1BPP

#define FM_INFO_1BPP   0x00000020

Definition at line 1013 of file winddi.h.

◆ FM_INFO_24BPP

#define FM_INFO_24BPP   0x00000200

Definition at line 1017 of file winddi.h.

◆ FM_INFO_32BPP

#define FM_INFO_32BPP   0x00000400

Definition at line 1018 of file winddi.h.

◆ FM_INFO_4BPP

#define FM_INFO_4BPP   0x00000040

Definition at line 1014 of file winddi.h.

◆ FM_INFO_8BPP

#define FM_INFO_8BPP   0x00000080

Definition at line 1015 of file winddi.h.

◆ FM_INFO_90DEGREE_ROTATIONS

#define FM_INFO_90DEGREE_ROTATIONS   0x00200000

Definition at line 1029 of file winddi.h.

◆ FM_INFO_ANISOTROPIC_SCALING_ONLY

#define FM_INFO_ANISOTROPIC_SCALING_ONLY   0x02000000

Definition at line 1033 of file winddi.h.

◆ FM_INFO_ARB_XFORMS

#define FM_INFO_ARB_XFORMS   0x00000010

Definition at line 1012 of file winddi.h.

◆ FM_INFO_CONSTANT_WIDTH

#define FM_INFO_CONSTANT_WIDTH   0x00001000

Definition at line 1020 of file winddi.h.

◆ FM_INFO_DBCS_FIXED_PITCH

#define FM_INFO_DBCS_FIXED_PITCH   0x10000000

Definition at line 1036 of file winddi.h.

◆ FM_INFO_DO_NOT_ENUMERATE

#define FM_INFO_DO_NOT_ENUMERATE   0x00800000

Definition at line 1031 of file winddi.h.

◆ FM_INFO_DSIG

#define FM_INFO_DSIG   0x00040000

Definition at line 1026 of file winddi.h.

◆ FM_INFO_FAMILY_EQUIV

#define FM_INFO_FAMILY_EQUIV   0x08000000

Definition at line 1035 of file winddi.h.

◆ FM_INFO_IGNORE_TC_RA_ABLE

#define FM_INFO_IGNORE_TC_RA_ABLE   0x40000000

Definition at line 1038 of file winddi.h.

◆ FM_INFO_INTEGER_WIDTH

#define FM_INFO_INTEGER_WIDTH   0x00000800

Definition at line 1019 of file winddi.h.

◆ FM_INFO_INTEGRAL_SCALING

#define FM_INFO_INTEGRAL_SCALING   0x00100000

Definition at line 1028 of file winddi.h.

◆ FM_INFO_ISOTROPIC_SCALING_ONLY

#define FM_INFO_ISOTROPIC_SCALING_ONLY   0x01000000

Definition at line 1032 of file winddi.h.

◆ FM_INFO_NONNEGATIVE_AC

#define FM_INFO_NONNEGATIVE_AC   0x20000000

Definition at line 1037 of file winddi.h.

◆ FM_INFO_NOT_CONTIGUOUS

#define FM_INFO_NOT_CONTIGUOUS   0x00002000

Definition at line 1021 of file winddi.h.

◆ FM_INFO_OPTICALLY_FIXED_PITCH

#define FM_INFO_OPTICALLY_FIXED_PITCH   0x00400000

Definition at line 1030 of file winddi.h.

◆ FM_INFO_RETURNS_BITMAPS

#define FM_INFO_RETURNS_BITMAPS   0x00020000

Definition at line 1025 of file winddi.h.

◆ FM_INFO_RETURNS_OUTLINES

#define FM_INFO_RETURNS_OUTLINES   0x00008000

Definition at line 1023 of file winddi.h.

◆ FM_INFO_RETURNS_STROKES

#define FM_INFO_RETURNS_STROKES   0x00010000

Definition at line 1024 of file winddi.h.

◆ FM_INFO_RIGHT_HANDED

#define FM_INFO_RIGHT_HANDED   0x00080000

Definition at line 1027 of file winddi.h.

◆ FM_INFO_TECH_BITMAP

#define FM_INFO_TECH_BITMAP   0x00000002

Definition at line 1009 of file winddi.h.

◆ FM_INFO_TECH_CFF

#define FM_INFO_TECH_CFF   0x04000000

Definition at line 1034 of file winddi.h.

◆ FM_INFO_TECH_MM

#define FM_INFO_TECH_MM   0x00004000

Definition at line 1022 of file winddi.h.

◆ FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE   0x00000008

Definition at line 1011 of file winddi.h.

◆ FM_INFO_TECH_STROKE

#define FM_INFO_TECH_STROKE   0x00000004

Definition at line 1010 of file winddi.h.

◆ FM_INFO_TECH_TRUETYPE

#define FM_INFO_TECH_TRUETYPE   0x00000001

Definition at line 1008 of file winddi.h.

◆ FM_INFO_TECH_TYPE1

#define FM_INFO_TECH_TYPE1   0x80000000

Definition at line 1039 of file winddi.h.

◆ FM_NO_EMBEDDING

#define FM_NO_EMBEDDING   FM_TYPE_LICENSED

Definition at line 1005 of file winddi.h.

◆ FM_PANOSE_CULTURE_LATIN

#define FM_PANOSE_CULTURE_LATIN   0x0

Definition at line 1044 of file winddi.h.

◆ FM_READONLY_EMBED

#define FM_READONLY_EMBED   0x4

Definition at line 1003 of file winddi.h.

◆ FM_SEL_BOLD

#define FM_SEL_BOLD   0x0020

Definition at line 699 of file winddi.h.

◆ FM_SEL_ITALIC

#define FM_SEL_ITALIC   0x0001

Definition at line 694 of file winddi.h.

◆ FM_SEL_NEGATIVE

#define FM_SEL_NEGATIVE   0x0004

Definition at line 696 of file winddi.h.

◆ FM_SEL_OUTLINED

#define FM_SEL_OUTLINED   0x0008

Definition at line 697 of file winddi.h.

◆ FM_SEL_REGULAR

#define FM_SEL_REGULAR   0x0040

Definition at line 700 of file winddi.h.

◆ FM_SEL_STRIKEOUT

#define FM_SEL_STRIKEOUT   0x0010

Definition at line 698 of file winddi.h.

◆ FM_SEL_UNDERSCORE

#define FM_SEL_UNDERSCORE   0x0002

Definition at line 695 of file winddi.h.

◆ FM_TYPE_LICENSED

#define FM_TYPE_LICENSED   0x2

Definition at line 1002 of file winddi.h.

◆ FM_VERSION_NUMBER

#define FM_VERSION_NUMBER   0x0

Definition at line 999 of file winddi.h.

◆ FO_ATTR_MODE_ROTATE

#define FO_ATTR_MODE_ROTATE   1

Definition at line 620 of file winddi.h.

◆ FO_CFF

#define FO_CFF   0x00100000

Definition at line 747 of file winddi.h.

◆ FO_CLEARTYPE_X

#define FO_CLEARTYPE_X   0x10000000

Definition at line 753 of file winddi.h.

◆ FO_CLEARTYPE_Y

#define FO_CLEARTYPE_Y   0x20000000

Definition at line 754 of file winddi.h.

◆ FO_CLEARTYPENATURAL_X

#define FO_CLEARTYPENATURAL_X   0x40000000

Definition at line 755 of file winddi.h.

◆ FO_DBCS_FONT

#define FO_DBCS_FONT   0X01000000

Definition at line 751 of file winddi.h.

◆ FO_DEVICE_FONT [1/2]

#define FO_DEVICE_FONT   1L

Definition at line 758 of file winddi.h.

◆ FO_DEVICE_FONT [2/2]

#define FO_DEVICE_FONT   1L

Definition at line 758 of file winddi.h.

◆ FO_EM_HEIGHT

#define FO_EM_HEIGHT   0x00008000

Definition at line 742 of file winddi.h.

◆ FO_GLYPHBITS

#define FO_GLYPHBITS   1L

Definition at line 3621 of file winddi.h.

◆ FO_GRAY16

#define FO_GRAY16   0x00010000

Definition at line 743 of file winddi.h.

◆ FO_HGLYPHS

#define FO_HGLYPHS   0L

Definition at line 3620 of file winddi.h.

◆ FO_MULTIPLEMASTER

#define FO_MULTIPLEMASTER   0x00400000

Definition at line 749 of file winddi.h.

◆ FO_NO_CHOICE

#define FO_NO_CHOICE   0x00080000

Definition at line 746 of file winddi.h.

◆ FO_NOCLEARTYPE

#define FO_NOCLEARTYPE   0x02000000

Definition at line 752 of file winddi.h.

◆ FO_NOGRAY16

#define FO_NOGRAY16   0x00020000

Definition at line 744 of file winddi.h.

◆ FO_NOHINTS

#define FO_NOHINTS   0x00040000

Definition at line 745 of file winddi.h.

◆ FO_OUTLINE_CAPABLE [1/2]

#define FO_OUTLINE_CAPABLE   2L

Definition at line 759 of file winddi.h.

◆ FO_OUTLINE_CAPABLE [2/2]

#define FO_OUTLINE_CAPABLE   2L

Definition at line 759 of file winddi.h.

◆ FO_PATHOBJ

#define FO_PATHOBJ   2L

Definition at line 3622 of file winddi.h.

◆ FO_POSTSCRIPT

#define FO_POSTSCRIPT   0x00200000

Definition at line 748 of file winddi.h.

◆ FO_SIM_BOLD

#define FO_SIM_BOLD   0x00002000

Definition at line 740 of file winddi.h.

◆ FO_SIM_ITALIC

#define FO_SIM_ITALIC   0x00004000

Definition at line 741 of file winddi.h.

◆ FO_TYPE_DEVICE

#define FO_TYPE_DEVICE   DEVICE_FONTTYPE

Definition at line 736 of file winddi.h.

◆ FO_TYPE_OPENTYPE

#define FO_TYPE_OPENTYPE   OPENTYPE_FONTTYPE

Definition at line 738 of file winddi.h.

◆ FO_TYPE_RASTER

#define FO_TYPE_RASTER   RASTER_FONTTYPE

Definition at line 735 of file winddi.h.

◆ FO_TYPE_TRUETYPE

#define FO_TYPE_TRUETYPE   TRUETYPE_FONTTYPE

Definition at line 737 of file winddi.h.

◆ FO_VERT_FACE

#define FO_VERT_FACE   0x00800000

Definition at line 750 of file winddi.h.

◆ FP_ALTERNATEMODE

#define FP_ALTERNATEMODE   1

Definition at line 160 of file winddi.h.

◆ FP_WINDINGMODE

#define FP_WINDINGMODE   2

Definition at line 161 of file winddi.h.

◆ FXTOL

#define FXTOL (   x)    ((x) >> 4)

Definition at line 186 of file winddi.h.

◆ FXTOLCEILING

#define FXTOLCEILING (   x)    ((x + 0x0F) >> 4)

Definition at line 188 of file winddi.h.

◆ FXTOLFLOOR

#define FXTOLFLOOR (   x)    ((x) >> 4)

Definition at line 187 of file winddi.h.

◆ FXTOLROUND

#define FXTOLROUND (   x)    ((((x) >> 3) + 1) >> 1)

Definition at line 189 of file winddi.h.

◆ GCAPS2_ACC_DRIVER

#define GCAPS2_ACC_DRIVER   0x00008000

Definition at line 386 of file winddi.h.

◆ GCAPS2_ALPHACURSOR

#define GCAPS2_ALPHACURSOR   0x00000020

Definition at line 371 of file winddi.h.

◆ GCAPS2_CHANGEGAMMARAMP

#define GCAPS2_CHANGEGAMMARAMP   0x00000010

Definition at line 370 of file winddi.h.

◆ GCAPS2_CLEARTYPE

#define GCAPS2_CLEARTYPE   0x00004000

Definition at line 383 of file winddi.h.

◆ GCAPS2_EXCLUDELAYERED

#define GCAPS2_EXCLUDELAYERED   0x00000800

Definition at line 378 of file winddi.h.

◆ GCAPS2_ICD_MULTIMON

#define GCAPS2_ICD_MULTIMON   0x00000100

Definition at line 374 of file winddi.h.

◆ GCAPS2_INCLUDEAPIBITMAPS

#define GCAPS2_INCLUDEAPIBITMAPS   0x00001000

Definition at line 379 of file winddi.h.

◆ GCAPS2_JPEGSRC

#define GCAPS2_JPEGSRC   0x00000001

Definition at line 367 of file winddi.h.

◆ GCAPS2_MOUSETRAILS

#define GCAPS2_MOUSETRAILS   0x00000200

Definition at line 375 of file winddi.h.

◆ GCAPS2_PNGSRC

#define GCAPS2_PNGSRC   0x00000008

Definition at line 369 of file winddi.h.

◆ GCAPS2_RESERVED1

#define GCAPS2_RESERVED1   0x00000400

Definition at line 376 of file winddi.h.

◆ GCAPS2_SHOWHIDDENPOINTER

#define GCAPS2_SHOWHIDDENPOINTER   0x00002000

Definition at line 380 of file winddi.h.

◆ GCAPS2_SYNCFLUSH

#define GCAPS2_SYNCFLUSH   0x00000040

Definition at line 372 of file winddi.h.

◆ GCAPS2_SYNCTIMER

#define GCAPS2_SYNCTIMER   0x00000080

Definition at line 373 of file winddi.h.

◆ GCAPS2_xxxx

#define GCAPS2_xxxx   0x00000002

Definition at line 368 of file winddi.h.

◆ GCAPS_ALTERNATEFILL

#define GCAPS_ALTERNATEFILL   0x00000004

Definition at line 325 of file winddi.h.

◆ GCAPS_ARBRUSHOPAQUE

#define GCAPS_ARBRUSHOPAQUE   0x00008000

Definition at line 338 of file winddi.h.

◆ GCAPS_ARBRUSHTEXT

#define GCAPS_ARBRUSHTEXT   0x10000000

Definition at line 349 of file winddi.h.

◆ GCAPS_ASYNCCHANGE

#define GCAPS_ASYNCCHANGE   0x00000800

Definition at line 334 of file winddi.h.

◆ GCAPS_ASYNCMOVE

#define GCAPS_ASYNCMOVE   0x00001000

Definition at line 335 of file winddi.h.

◆ GCAPS_BEZIERS

#define GCAPS_BEZIERS   0x00000001

Definition at line 323 of file winddi.h.

◆ GCAPS_CMYKCOLOR

#define GCAPS_CMYKCOLOR   0x04000000

Definition at line 347 of file winddi.h.

◆ GCAPS_COLOR_DITHER

#define GCAPS_COLOR_DITHER   0x00000020

Definition at line 328 of file winddi.h.

◆ GCAPS_DIRECTDRAW

#define GCAPS_DIRECTDRAW   0x00004000

Definition at line 337 of file winddi.h.

◆ GCAPS_DITHERONREALIZE

#define GCAPS_DITHERONREALIZE   0x00200000

Definition at line 342 of file winddi.h.

◆ GCAPS_DONTJOURNAL

#define GCAPS_DONTJOURNAL   0x00002000

Definition at line 336 of file winddi.h.

◆ GCAPS_FONT_RASTERIZER

#define GCAPS_FONT_RASTERIZER   0x40000000

Definition at line 351 of file winddi.h.

◆ GCAPS_FORCEDITHER

#define GCAPS_FORCEDITHER   0x00800000

Definition at line 344 of file winddi.h.

◆ GCAPS_GEOMETRICWIDE

#define GCAPS_GEOMETRICWIDE   0x00000002

Definition at line 324 of file winddi.h.

◆ GCAPS_GRAY16

#define GCAPS_GRAY16   0x01000000

Definition at line 345 of file winddi.h.

◆ GCAPS_HALFTONE

#define GCAPS_HALFTONE   0x00000010

Definition at line 327 of file winddi.h.

◆ GCAPS_HIGHRESTEXT

#define GCAPS_HIGHRESTEXT   0x00040000

Definition at line 340 of file winddi.h.

◆ GCAPS_HORIZSTRIKE

#define GCAPS_HORIZSTRIKE   0x00000040

Definition at line 329 of file winddi.h.

◆ GCAPS_ICM

#define GCAPS_ICM   0x02000000

Definition at line 346 of file winddi.h.

◆ GCAPS_LAYERED

#define GCAPS_LAYERED   0x08000000

Definition at line 348 of file winddi.h.

◆ GCAPS_MONO_DITHER

#define GCAPS_MONO_DITHER   0x00000400

Definition at line 333 of file winddi.h.

◆ GCAPS_NO64BITMEMACCESS

#define GCAPS_NO64BITMEMACCESS   0x00400000

Definition at line 343 of file winddi.h.

◆ GCAPS_NUP

#define GCAPS_NUP   0x80000000

Definition at line 352 of file winddi.h.

◆ GCAPS_OPAQUERECT

#define GCAPS_OPAQUERECT   0x00000100

Definition at line 331 of file winddi.h.

◆ GCAPS_PALMANAGED

#define GCAPS_PALMANAGED   0x00080000

Definition at line 341 of file winddi.h.

◆ GCAPS_PANNING

#define GCAPS_PANNING   0x00010000

Definition at line 339 of file winddi.h.

◆ GCAPS_SCREENPRECISION

#define GCAPS_SCREENPRECISION   0x20000000

Definition at line 350 of file winddi.h.

◆ GCAPS_VECTORFONT

#define GCAPS_VECTORFONT   0x00000200

Definition at line 332 of file winddi.h.

◆ GCAPS_VERTSTRIKE

#define GCAPS_VERTSTRIKE   0x00000080

Definition at line 330 of file winddi.h.

◆ GCAPS_WINDINGFILL

#define GCAPS_WINDINGFILL   0x00000008

Definition at line 326 of file winddi.h.

◆ GDI_DRIVER_VERSION

#define GDI_DRIVER_VERSION   0x4000

Definition at line 109 of file winddi.h.

◆ GS_16BIT_HANDLES

#define GS_16BIT_HANDLES   0x00000004

Definition at line 632 of file winddi.h.

◆ GS_8BIT_HANDLES

#define GS_8BIT_HANDLES   0x00000002

Definition at line 631 of file winddi.h.

◆ GS_UNICODE_HANDLES

#define GS_UNICODE_HANDLES   0x00000001

Definition at line 630 of file winddi.h.

◆ GUID_DEFINED

#define GUID_DEFINED

Definition at line 82 of file winddi.h.

◆ GX_GENERAL

#define GX_GENERAL   3

Definition at line 183 of file winddi.h.

◆ GX_IDENTITY

#define GX_IDENTITY   0

Definition at line 180 of file winddi.h.

◆ GX_OFFSET

#define GX_OFFSET   1

Definition at line 181 of file winddi.h.

◆ GX_SCALE

#define GX_SCALE   2

Definition at line 182 of file winddi.h.

◆ HFC_INVALID

#define HFC_INVALID   ((HFC) 0)

Definition at line 157 of file winddi.h.

◆ HFF_INVALID

#define HFF_INVALID   ((HFF) 0)

Definition at line 156 of file winddi.h.

◆ HGLYPH_INVALID

#define HGLYPH_INVALID   ((HGLYPH) -1)

Definition at line 158 of file winddi.h.

◆ HOOK_ALPHABLEND

#define HOOK_ALPHABLEND   0x00010000

Definition at line 1435 of file winddi.h.

◆ HOOK_BITBLT

#define HOOK_BITBLT   0x00000001

Definition at line 1420 of file winddi.h.

◆ HOOK_COPYBITS

#define HOOK_COPYBITS   0x00000400

Definition at line 1429 of file winddi.h.

◆ HOOK_FILLPATH

#define HOOK_FILLPATH   0x00000040

Definition at line 1426 of file winddi.h.

◆ HOOK_FLAGS

#define HOOK_FLAGS   0x0003b5ef

Definition at line 1438 of file winddi.h.

◆ HOOK_GRADIENTFILL

#define HOOK_GRADIENTFILL   0x00020000

Definition at line 1436 of file winddi.h.

◆ HOOK_LINETO

#define HOOK_LINETO   0x00000100

Definition at line 1428 of file winddi.h.

◆ HOOK_MOVEPANNING

#define HOOK_MOVEPANNING   0x00000800

Definition at line 1430 of file winddi.h.

◆ HOOK_PAINT

#define HOOK_PAINT   0x00000010

Definition at line 1424 of file winddi.h.

◆ HOOK_PLGBLT

#define HOOK_PLGBLT   0x00000004

Definition at line 1422 of file winddi.h.

◆ HOOK_STRETCHBLT

#define HOOK_STRETCHBLT   0x00000002

Definition at line 1421 of file winddi.h.

◆ HOOK_STRETCHBLTROP

#define HOOK_STRETCHBLTROP   0x00002000

Definition at line 1432 of file winddi.h.

◆ HOOK_STROKEANDFILLPATH

#define HOOK_STROKEANDFILLPATH   0x00000080

Definition at line 1427 of file winddi.h.

◆ HOOK_STROKEPATH

#define HOOK_STROKEPATH   0x00000020

Definition at line 1425 of file winddi.h.

◆ HOOK_SYNCHRONIZE

#define HOOK_SYNCHRONIZE   0x00001000

Definition at line 1431 of file winddi.h.

◆ HOOK_SYNCHRONIZEACCESS

#define HOOK_SYNCHRONIZEACCESS   0x00004000

Definition at line 1433 of file winddi.h.

◆ HOOK_TEXTOUT

#define HOOK_TEXTOUT   0x00000008

Definition at line 1423 of file winddi.h.

◆ HOOK_TRANSPARENTBLT

#define HOOK_TRANSPARENTBLT   0x00008000

Definition at line 1434 of file winddi.h.

◆ HS_DDI_MAX

#define HS_DDI_MAX   6

Definition at line 3954 of file winddi.h.

◆ HT_BITMASKPALRGB

#define HT_BITMASKPALRGB   (DWORD)'0BGR'

Definition at line 862 of file winddi.h.

◆ HT_FLAG_8BPP_CMY332_MASK

#define HT_FLAG_8BPP_CMY332_MASK   0xFF000000

Definition at line 835 of file winddi.h.

◆ HT_FLAG_ADDITIVE_PRIMS

#define HT_FLAG_ADDITIVE_PRIMS   0x00000004

Definition at line 827 of file winddi.h.

◆ HT_FLAG_DO_DEVCLR_XFORM

#define HT_FLAG_DO_DEVCLR_XFORM   0x00000080

Definition at line 831 of file winddi.h.

◆ HT_FLAG_HAS_BLACK_DYE

#define HT_FLAG_HAS_BLACK_DYE   0x00000002

Definition at line 826 of file winddi.h.

◆ HT_FLAG_HIGH_INK_ABSORPTION

#define HT_FLAG_HIGH_INK_ABSORPTION
Value:
#define HT_FLAG_INK_ABSORPTION_IDX1
Definition: winddi.h:847
#define HT_FLAG_INK_HIGH_ABSORPTION
Definition: winddi.h:829

Definition at line 855 of file winddi.h.

◆ HT_FLAG_HIGHER_INK_ABSORPTION

#define HT_FLAG_HIGHER_INK_ABSORPTION
Value:

Definition at line 853 of file winddi.h.

◆ HT_FLAG_HIGHEST_INK_ABSORPTION

#define HT_FLAG_HIGHEST_INK_ABSORPTION
Value:

Definition at line 851 of file winddi.h.

◆ HT_FLAG_INK_ABSORPTION_IDX0

#define HT_FLAG_INK_ABSORPTION_IDX0   0x00000000

Definition at line 846 of file winddi.h.

◆ HT_FLAG_INK_ABSORPTION_IDX1

#define HT_FLAG_INK_ABSORPTION_IDX1   0x00000020

Definition at line 847 of file winddi.h.

◆ HT_FLAG_INK_ABSORPTION_IDX2

#define HT_FLAG_INK_ABSORPTION_IDX2   0x00000040

Definition at line 848 of file winddi.h.

◆ HT_FLAG_INK_ABSORPTION_IDX3

#define HT_FLAG_INK_ABSORPTION_IDX3   0x00000060

Definition at line 849 of file winddi.h.

◆ HT_FLAG_INK_ABSORPTION_INDICES

#define HT_FLAG_INK_ABSORPTION_INDICES   0x00000060

Definition at line 830 of file winddi.h.

◆ HT_FLAG_INK_HIGH_ABSORPTION

#define HT_FLAG_INK_HIGH_ABSORPTION   0x00000010

Definition at line 829 of file winddi.h.

◆ HT_FLAG_INVERT_8BPP_BITMASK_IDX

#define HT_FLAG_INVERT_8BPP_BITMASK_IDX   0x00000400

Definition at line 834 of file winddi.h.

◆ HT_FLAG_LOW_INK_ABSORPTION

#define HT_FLAG_LOW_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX1

Definition at line 858 of file winddi.h.

◆ HT_FLAG_LOWER_INK_ABSORPTION

#define HT_FLAG_LOWER_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX2

Definition at line 859 of file winddi.h.

◆ HT_FLAG_LOWEST_INK_ABSORPTION

#define HT_FLAG_LOWEST_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX3

Definition at line 860 of file winddi.h.

◆ HT_FLAG_NORMAL_INK_ABSORPTION

#define HT_FLAG_NORMAL_INK_ABSORPTION   HT_FLAG_INK_ABSORPTION_IDX0

Definition at line 857 of file winddi.h.

◆ HT_FLAG_OUTPUT_CMY

#define HT_FLAG_OUTPUT_CMY   0x00000100

Definition at line 832 of file winddi.h.

◆ HT_FLAG_PRINT_DRAFT_MODE

#define HT_FLAG_PRINT_DRAFT_MODE   0x00000200

Definition at line 833 of file winddi.h.

◆ HT_FLAG_SQUARE_DEVICE_PEL

#define HT_FLAG_SQUARE_DEVICE_PEL   0x00000001

Definition at line 825 of file winddi.h.

◆ HT_FLAG_USE_8BPP_BITMASK

#define HT_FLAG_USE_8BPP_BITMASK   0x00000008

Definition at line 828 of file winddi.h.

◆ HT_FORMAT_16BPP

#define HT_FORMAT_16BPP   5

Definition at line 820 of file winddi.h.

◆ HT_FORMAT_1BPP

#define HT_FORMAT_1BPP   0

Definition at line 816 of file winddi.h.

◆ HT_FORMAT_24BPP

#define HT_FORMAT_24BPP   6

Definition at line 821 of file winddi.h.

◆ HT_FORMAT_32BPP

#define HT_FORMAT_32BPP   7

Definition at line 822 of file winddi.h.

◆ HT_FORMAT_4BPP

#define HT_FORMAT_4BPP   2

Definition at line 817 of file winddi.h.

◆ HT_FORMAT_4BPP_IRGB

#define HT_FORMAT_4BPP_IRGB   3

Definition at line 818 of file winddi.h.

◆ HT_FORMAT_8BPP

#define HT_FORMAT_8BPP   4

Definition at line 819 of file winddi.h.

◆ HT_IS_BITMASKPALRGB

#define HT_IS_BITMASKPALRGB (   pPal)    (*((LPDWORD)(pPal)) == (DWORD)0)

Definition at line 864 of file winddi.h.

◆ HT_PATSIZE_10x10

#define HT_PATSIZE_10x10   8

Definition at line 797 of file winddi.h.

◆ HT_PATSIZE_10x10_M

#define HT_PATSIZE_10x10_M   9

Definition at line 798 of file winddi.h.

◆ HT_PATSIZE_12x12

#define HT_PATSIZE_12x12   10

Definition at line 799 of file winddi.h.

◆ HT_PATSIZE_12x12_M

#define HT_PATSIZE_12x12_M   11

Definition at line 800 of file winddi.h.

◆ HT_PATSIZE_14x14

#define HT_PATSIZE_14x14   12

Definition at line 801 of file winddi.h.

◆ HT_PATSIZE_14x14_M

#define HT_PATSIZE_14x14_M   13

Definition at line 802 of file winddi.h.

◆ HT_PATSIZE_16x16

#define HT_PATSIZE_16x16   14

Definition at line 803 of file winddi.h.

◆ HT_PATSIZE_16x16_M

#define HT_PATSIZE_16x16_M   15

Definition at line 804 of file winddi.h.

◆ HT_PATSIZE_2x2

#define HT_PATSIZE_2x2   0

Definition at line 789 of file winddi.h.

◆ HT_PATSIZE_2x2_M

#define HT_PATSIZE_2x2_M   1

Definition at line 790 of file winddi.h.

◆ HT_PATSIZE_4x4

#define HT_PATSIZE_4x4   2

Definition at line 791 of file winddi.h.

◆ HT_PATSIZE_4x4_M

#define HT_PATSIZE_4x4_M   3

Definition at line 792 of file winddi.h.

◆ HT_PATSIZE_6x6

#define HT_PATSIZE_6x6   4

Definition at line 793 of file winddi.h.

◆ HT_PATSIZE_6x6_M

#define HT_PATSIZE_6x6_M   5

Definition at line 794 of file winddi.h.

◆ HT_PATSIZE_8x8

#define HT_PATSIZE_8x8   6

Definition at line 795 of file winddi.h.

◆ HT_PATSIZE_8x8_M

#define HT_PATSIZE_8x8_M   7

Definition at line 796 of file winddi.h.

◆ HT_PATSIZE_DEFAULT

#define HT_PATSIZE_DEFAULT   HT_PATSIZE_SUPERCELL_M

Definition at line 809 of file winddi.h.

◆ HT_PATSIZE_MAX_INDEX

#define HT_PATSIZE_MAX_INDEX   HT_PATSIZE_USER

Definition at line 808 of file winddi.h.

◆ HT_PATSIZE_SUPERCELL

#define HT_PATSIZE_SUPERCELL   16

Definition at line 805 of file winddi.h.

◆ HT_PATSIZE_SUPERCELL_M

#define HT_PATSIZE_SUPERCELL_M   17

Definition at line 806 of file winddi.h.

◆ HT_PATSIZE_USER

#define HT_PATSIZE_USER   18

Definition at line 807 of file winddi.h.

◆ HT_SET_BITMASKPAL2RGB

#define HT_SET_BITMASKPAL2RGB (   pPal)    (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB)

Definition at line 863 of file winddi.h.

◆ HT_USERPAT_CX_MAX

#define HT_USERPAT_CX_MAX   256

Definition at line 811 of file winddi.h.

◆ HT_USERPAT_CX_MIN

#define HT_USERPAT_CX_MIN   4

Definition at line 810 of file winddi.h.

◆ HT_USERPAT_CY_MAX

#define HT_USERPAT_CY_MAX   256

Definition at line 813 of file winddi.h.

◆ HT_USERPAT_CY_MIN

#define HT_USERPAT_CY_MIN   4

Definition at line 812 of file winddi.h.

◆ IGRF_RGB_256BYTES

#define IGRF_RGB_256BYTES   0x00000000

Definition at line 3692 of file winddi.h.

◆ IGRF_RGB_256WORDS

#define IGRF_RGB_256WORDS   0x00000001

Definition at line 3693 of file winddi.h.

◆ INDEX_DrvAccumulateD3DDirtyRect

#define INDEX_DrvAccumulateD3DDirtyRect   98L

Definition at line 516 of file winddi.h.

◆ INDEX_DrvAlphaBlend

#define INDEX_DrvAlphaBlend   71L

Definition at line 487 of file winddi.h.

◆ INDEX_DrvAssertMode

#define INDEX_DrvAssertMode   5L

Definition at line 421 of file winddi.h.

◆ INDEX_DrvAssociateSharedSurface

#define INDEX_DrvAssociateSharedSurface   96L

Definition at line 514 of file winddi.h.

◆ INDEX_DrvBitBlt

#define INDEX_DrvBitBlt   18L

Definition at line 434 of file winddi.h.

◆ INDEX_DrvCompletePDEV

#define INDEX_DrvCompletePDEV   1L

Definition at line 417 of file winddi.h.

◆ INDEX_DrvCopyBits

#define INDEX_DrvCopyBits   19L

Definition at line 435 of file winddi.h.

◆ INDEX_DrvCreateDeviceBitmap

#define INDEX_DrvCreateDeviceBitmap   10L

Definition at line 426 of file winddi.h.

◆ INDEX_DrvCreateDeviceBitmapEx

#define INDEX_DrvCreateDeviceBitmapEx   94L

Definition at line 512 of file winddi.h.

◆ INDEX_DrvDeleteDeviceBitmap

#define INDEX_DrvDeleteDeviceBitmap   11L

Definition at line 427 of file winddi.h.

◆ INDEX_DrvDeleteDeviceBitmapEx

#define INDEX_DrvDeleteDeviceBitmapEx   95L

Definition at line 513 of file winddi.h.

◆ INDEX_DrvDeriveSurface

#define INDEX_DrvDeriveSurface   85L

Definition at line 501 of file winddi.h.

◆ INDEX_DrvDescribePixelFormat

#define INDEX_DrvDescribePixelFormat   55L

Definition at line 471 of file winddi.h.

◆ INDEX_DrvDestroyFont

#define INDEX_DrvDestroyFont   43L

Definition at line 459 of file winddi.h.

◆ INDEX_DrvDisableDirectDraw

#define INDEX_DrvDisableDirectDraw   61L

Definition at line 477 of file winddi.h.

◆ INDEX_DrvDisableDriver

#define INDEX_DrvDisableDriver   8L

Definition at line 424 of file winddi.h.

◆ INDEX_DrvDisablePDEV

#define INDEX_DrvDisablePDEV   2L

Definition at line 418 of file winddi.h.

◆ INDEX_DrvDisableSurface

#define INDEX_DrvDisableSurface   4L

Definition at line 420 of file winddi.h.

◆ INDEX_DrvDitherColor

#define INDEX_DrvDitherColor   13L

Definition at line 429 of file winddi.h.

◆ INDEX_DrvDrawEscape

#define INDEX_DrvDrawEscape   25L

Definition at line 441 of file winddi.h.

◆ INDEX_DrvEnableDirectDraw

#define INDEX_DrvEnableDirectDraw   60L

Definition at line 476 of file winddi.h.

◆ INDEX_DrvEnablePDEV

#define INDEX_DrvEnablePDEV   0L

Definition at line 416 of file winddi.h.

◆ INDEX_DrvEnableSurface

#define INDEX_DrvEnableSurface   3L

Definition at line 419 of file winddi.h.

◆ INDEX_DrvEndDoc

#define INDEX_DrvEndDoc   34L

Definition at line 450 of file winddi.h.

◆ INDEX_DrvEndDxInterop

#define INDEX_DrvEndDxInterop   100L

Definition at line 518 of file winddi.h.

◆ INDEX_DrvEscape

#define INDEX_DrvEscape   24L

Definition at line 440 of file winddi.h.

◆ INDEX_DrvFillPath

#define INDEX_DrvFillPath   15L

Definition at line 431 of file winddi.h.

◆ INDEX_DrvFontManagement

#define INDEX_DrvFontManagement   47L

Definition at line 463 of file winddi.h.

◆ INDEX_DrvFree

#define INDEX_DrvFree   42L

Definition at line 458 of file winddi.h.

◆ INDEX_DrvGetDirectDrawInfo

#define INDEX_DrvGetDirectDrawInfo   59L

Definition at line 475 of file winddi.h.

◆ INDEX_DrvGetGlyphMode

#define INDEX_DrvGetGlyphMode   37L

Definition at line 453 of file winddi.h.

◆ INDEX_DrvGetModes

#define INDEX_DrvGetModes   41L

Definition at line 457 of file winddi.h.

◆ INDEX_DrvGetSynthesizedFontFiles

#define INDEX_DrvGetSynthesizedFontFiles   73L

Definition at line 489 of file winddi.h.

◆ INDEX_DrvGetTrueTypeFile

#define INDEX_DrvGetTrueTypeFile   50L

Definition at line 466 of file winddi.h.

◆ INDEX_DrvGradientFill

#define INDEX_DrvGradientFill   68L

Definition at line 484 of file winddi.h.

◆ INDEX_DrvIcmCheckBitmapBits

#define INDEX_DrvIcmCheckBitmapBits   66L

Definition at line 482 of file winddi.h.

◆ INDEX_DrvIcmCreateColorTransform

#define INDEX_DrvIcmCreateColorTransform   64L

Definition at line 480 of file winddi.h.

◆ INDEX_DrvIcmDeleteColorTransform

#define INDEX_DrvIcmDeleteColorTransform   65L

Definition at line 481 of file winddi.h.

◆ INDEX_DrvIcmSetDeviceGammaRamp

#define INDEX_DrvIcmSetDeviceGammaRamp   67L

Definition at line 483 of file winddi.h.

◆ INDEX_DrvLineTo

#define INDEX_DrvLineTo   31L

Definition at line 447 of file winddi.h.

◆ INDEX_DrvLoadFontFile

#define INDEX_DrvLoadFontFile   45L

Definition at line 461 of file winddi.h.

◆ INDEX_DrvLockDisplayArea

#define INDEX_DrvLockDisplayArea   101L

Definition at line 519 of file winddi.h.

◆ INDEX_DrvMovePanning

#define INDEX_DrvMovePanning   52L

Definition at line 468 of file winddi.h.

◆ INDEX_DrvMovePointer

#define INDEX_DrvMovePointer   30L

Definition at line 446 of file winddi.h.

◆ INDEX_DrvNextBand

#define INDEX_DrvNextBand   58L

Definition at line 474 of file winddi.h.

◆ INDEX_DrvNotify

#define INDEX_DrvNotify   87L

Definition at line 503 of file winddi.h.

◆ INDEX_DrvOffset

#define INDEX_DrvOffset   6L

Definition at line 422 of file winddi.h.

◆ INDEX_DrvPaint

#define INDEX_DrvPaint   17L

Definition at line 433 of file winddi.h.

◆ INDEX_DrvPlgBlt

#define INDEX_DrvPlgBlt   70L

Definition at line 486 of file winddi.h.

◆ INDEX_DrvQueryAdvanceWidths

#define INDEX_DrvQueryAdvanceWidths   53L

Definition at line 469 of file winddi.h.

◆ INDEX_DrvQueryDeviceSupport

#define INDEX_DrvQueryDeviceSupport   76L

Definition at line 492 of file winddi.h.

◆ INDEX_DrvQueryFont

#define INDEX_DrvQueryFont   26L

Definition at line 442 of file winddi.h.

◆ INDEX_DrvQueryFontCaps

#define INDEX_DrvQueryFontCaps   44L

Definition at line 460 of file winddi.h.

◆ INDEX_DrvQueryFontData

#define INDEX_DrvQueryFontData   28L

Definition at line 444 of file winddi.h.

◆ INDEX_DrvQueryFontFile

#define INDEX_DrvQueryFontFile   51L

Definition at line 467 of file winddi.h.

◆ INDEX_DrvQueryFontTree

#define INDEX_DrvQueryFontTree   27L

Definition at line 443 of file winddi.h.

◆ INDEX_DrvQueryGlyphAttrs

#define INDEX_DrvQueryGlyphAttrs   86L

Definition at line 502 of file winddi.h.

◆ INDEX_DrvQueryPerBandInfo

#define INDEX_DrvQueryPerBandInfo   75L

Definition at line 491 of file winddi.h.

◆ INDEX_DrvQuerySpoolType

#define INDEX_DrvQuerySpoolType   62L

Definition at line 478 of file winddi.h.

◆ INDEX_DrvQueryTrueTypeOutline

#define INDEX_DrvQueryTrueTypeOutline   49L

Definition at line 465 of file winddi.h.

◆ INDEX_DrvQueryTrueTypeTable

#define INDEX_DrvQueryTrueTypeTable   48L

Definition at line 464 of file winddi.h.

◆ INDEX_DrvRealizeBrush

#define INDEX_DrvRealizeBrush   12L

Definition at line 428 of file winddi.h.

◆ INDEX_DrvRenderHint

#define INDEX_DrvRenderHint   93L

Definition at line 510 of file winddi.h.

◆ INDEX_DrvReserved1

#define INDEX_DrvReserved1   77L

Definition at line 493 of file winddi.h.

◆ INDEX_DrvReserved10

#define INDEX_DrvReserved10   91L

Definition at line 507 of file winddi.h.

◆ INDEX_DrvReserved11

#define INDEX_DrvReserved11   92L

Definition at line 508 of file winddi.h.

◆ INDEX_DrvReserved2

#define INDEX_DrvReserved2   78L

Definition at line 494 of file winddi.h.

◆ INDEX_DrvReserved3

#define INDEX_DrvReserved3   79L

Definition at line 495 of file winddi.h.

◆ INDEX_DrvReserved4

#define INDEX_DrvReserved4   80L

Definition at line 496 of file winddi.h.

◆ INDEX_DrvReserved5

#define INDEX_DrvReserved5   81L

Definition at line 497 of file winddi.h.

◆ INDEX_DrvReserved6

#define INDEX_DrvReserved6   82L

Definition at line 498 of file winddi.h.

◆ INDEX_DrvReserved7

#define INDEX_DrvReserved7   83L

Definition at line 499 of file winddi.h.

◆ INDEX_DrvReserved8

#define INDEX_DrvReserved8   84L

Definition at line 500 of file winddi.h.

◆ INDEX_DrvReserved9

#define INDEX_DrvReserved9   90L

Definition at line 506 of file winddi.h.

◆ INDEX_DrvResetDevice

#define INDEX_DrvResetDevice   89L

Definition at line 505 of file winddi.h.

◆ INDEX_DrvResetPDEV

#define INDEX_DrvResetPDEV   7L

Definition at line 423 of file winddi.h.

◆ INDEX_DrvSaveScreenBits

#define INDEX_DrvSaveScreenBits   40L

Definition at line 456 of file winddi.h.

◆ INDEX_DrvSendPage

#define INDEX_DrvSendPage   32L

Definition at line 448 of file winddi.h.

◆ INDEX_DrvSetPalette

#define INDEX_DrvSetPalette   22L

Definition at line 438 of file winddi.h.

◆ INDEX_DrvSetPixelFormat

#define INDEX_DrvSetPixelFormat   54L

Definition at line 470 of file winddi.h.

◆ INDEX_DrvSetPointerShape

#define INDEX_DrvSetPointerShape   29L

Definition at line 445 of file winddi.h.

◆ INDEX_DrvStartBanding

#define INDEX_DrvStartBanding   57L

Definition at line 473 of file winddi.h.

◆ INDEX_DrvStartDoc

#define INDEX_DrvStartDoc   35L

Definition at line 451 of file winddi.h.

◆ INDEX_DrvStartDxInterop

#define INDEX_DrvStartDxInterop   99L

Definition at line 517 of file winddi.h.

◆ INDEX_DrvStartPage

#define INDEX_DrvStartPage   33L

Definition at line 449 of file winddi.h.

◆ INDEX_DrvStretchBlt

#define INDEX_DrvStretchBlt   20L

Definition at line 436 of file winddi.h.

◆ INDEX_DrvStretchBltROP

#define INDEX_DrvStretchBltROP   69L

Definition at line 485 of file winddi.h.

◆ INDEX_DrvStrokeAndFillPath

#define INDEX_DrvStrokeAndFillPath   16L

Definition at line 432 of file winddi.h.

◆ INDEX_DrvStrokePath

#define INDEX_DrvStrokePath   14L

Definition at line 430 of file winddi.h.

◆ INDEX_DrvSwapBuffers

#define INDEX_DrvSwapBuffers   56L

Definition at line 472 of file winddi.h.

◆ INDEX_DrvSynchronize

#define INDEX_DrvSynchronize   38L

Definition at line 454 of file winddi.h.

◆ INDEX_DrvSynchronizeRedirectionBitmaps

#define INDEX_DrvSynchronizeRedirectionBitmaps   97L

Definition at line 515 of file winddi.h.

◆ INDEX_DrvSynchronizeSurface

#define INDEX_DrvSynchronizeSurface   88L

Definition at line 504 of file winddi.h.

◆ INDEX_DrvSynthesizeFont

#define INDEX_DrvSynthesizeFont   72L

Definition at line 488 of file winddi.h.

◆ INDEX_DrvTextOut

#define INDEX_DrvTextOut   23L

Definition at line 439 of file winddi.h.

◆ INDEX_DrvTransparentBlt

#define INDEX_DrvTransparentBlt   74L

Definition at line 490 of file winddi.h.

◆ INDEX_DrvUnknown1

#define INDEX_DrvUnknown1   9L

Definition at line 425 of file winddi.h.

◆ INDEX_DrvUnknown2

#define INDEX_DrvUnknown2   21L

Definition at line 437 of file winddi.h.

◆ INDEX_DrvUnknown3

#define INDEX_DrvUnknown3   36L

Definition at line 452 of file winddi.h.

◆ INDEX_DrvUnknown4

#define INDEX_DrvUnknown4   39L

Definition at line 455 of file winddi.h.

◆ INDEX_DrvUnknown5

#define INDEX_DrvUnknown5   63L

Definition at line 479 of file winddi.h.

◆ INDEX_DrvUnloadFontFile

#define INDEX_DrvUnloadFontFile   46L

Definition at line 462 of file winddi.h.

◆ INDEX_DrvUnlockDisplayArea

#define INDEX_DrvUnlockDisplayArea   102L

Definition at line 520 of file winddi.h.

◆ INDEX_LAST

#define INDEX_LAST   103L

Definition at line 521 of file winddi.h.

◆ IsEqualGUID

#define IsEqualGUID (   guid1,
  guid2 
)     (!memcmp((guid1), (guid2), sizeof(GUID)))

Definition at line 93 of file winddi.h.

◆ IsEqualIID

#define IsEqualIID   IsEqualGUID

Definition at line 98 of file winddi.h.

◆ JOIN_BEVEL

#define JOIN_BEVEL   1L

Definition at line 1119 of file winddi.h.

◆ JOIN_MITER

#define JOIN_MITER   2L

Definition at line 1120 of file winddi.h.

◆ JOIN_ROUND

#define JOIN_ROUND   0L

Definition at line 1118 of file winddi.h.

◆ LA_ALTERNATE

#define LA_ALTERNATE   0x00000002

Definition at line 1113 of file winddi.h.

◆ LA_GEOMETRIC

#define LA_GEOMETRIC   0x00000001

Definition at line 1112 of file winddi.h.

◆ LA_STARTGAP

#define LA_STARTGAP   0x00000004

Definition at line 1114 of file winddi.h.

◆ LA_STYLED

#define LA_STYLED   0x00000008

Definition at line 1115 of file winddi.h.

◆ LTOFX

#define LTOFX (   x)    ((x) << 4)

Definition at line 185 of file winddi.h.

◆ MAKE_CMY332_MASK

#define MAKE_CMY332_MASK (   c,
  m,
  y 
)
Value:
((DWORD)(((DWORD)(c) & 0x07) << 29)\
|(DWORD)(((DWORD)(m) & 0x07) << 26)\
|(DWORD)(((DWORD)(y) & 0x03) << 24))
unsigned long DWORD
Definition: ntddk_ex.h:95
const GLubyte * c
Definition: glext.h:8905
const GLfloat * m
Definition: glext.h:10848
#define DWORD
Definition: nt_native.h:44
_In_ LONG _In_ LONG y
Definition: winddi.h:3733

Definition at line 841 of file winddi.h.

◆ MAKE_CMYMASK_BYTE

#define MAKE_CMYMASK_BYTE (   c,
  m,
  y 
)
Value:
((BYTE)(((BYTE)(c) & 0x07) << 5) \
|(BYTE)(((BYTE)(m) & 0x07) << 2) \
|(BYTE)((BYTE)(y) & 0x03))
unsigned char BYTE
Definition: xxhash.c:193

Definition at line 837 of file winddi.h.

◆ MAXCHARSETS

#define MAXCHARSETS   16 /* Obsolete in Windows 2000 and later */

Definition at line 1041 of file winddi.h.

◆ MS_CDDDEVICEBITMAP

#define MS_CDDDEVICEBITMAP   0x00000004

Definition at line 2131 of file winddi.h.

◆ MS_NOTSYSTEMMEMORY

#define MS_NOTSYSTEMMEMORY   0x00000001

Definition at line 2129 of file winddi.h.

◆ MS_SHAREDACCESS

#define MS_SHAREDACCESS   0x00000002

Definition at line 2130 of file winddi.h.

◆ OC_BANK_CLIP

#define OC_BANK_CLIP   1

Definition at line 273 of file winddi.h.

◆ OPENGL_CMD

#define OPENGL_CMD   4352

Definition at line 149 of file winddi.h.

◆ OPENGL_GETINFO

#define OPENGL_GETINFO   4353

Definition at line 150 of file winddi.h.

◆ PAL_BGR

#define PAL_BGR   0x00000008

Definition at line 1564 of file winddi.h.

◆ PAL_BITFIELDS

#define PAL_BITFIELDS   0x00000002

Definition at line 1562 of file winddi.h.

◆ PAL_CMYK

#define PAL_CMYK   0x00000010

Definition at line 1565 of file winddi.h.

◆ PAL_INDEXED

#define PAL_INDEXED   0x00000001

Definition at line 1561 of file winddi.h.

◆ PAL_RGB

#define PAL_RGB   0x00000004

Definition at line 1563 of file winddi.h.

◆ PD_ALL

#define PD_ALL
Value:
|PD_CLOSEFIGURE \
PD_BEZIERS)
#define PD_BEGINSUBPATH
Definition: winddi.h:926
#define PD_RESETSTYLE
Definition: winddi.h:928
#define PD_ENDSUBPATH
Definition: winddi.h:927

Definition at line 931 of file winddi.h.

◆ PD_BEGINSUBPATH

#define PD_BEGINSUBPATH   0x00000001

Definition at line 926 of file winddi.h.

◆ PD_BEZIERS

#define PD_BEZIERS   0x00000010

Definition at line 930 of file winddi.h.

◆ PD_CLOSEFIGURE

#define PD_CLOSEFIGURE   0x00000008

Definition at line 929 of file winddi.h.

◆ PD_ENDSUBPATH

#define PD_ENDSUBPATH   0x00000002

Definition at line 927 of file winddi.h.

◆ PD_RESETSTYLE

#define PD_RESETSTYLE   0x00000004

Definition at line 928 of file winddi.h.

◆ PO_ALL_INTEGERS

#define PO_ALL_INTEGERS   0x00000004

Definition at line 946 of file winddi.h.

◆ PO_BEZIERS

#define PO_BEZIERS   0x00000001

Definition at line 944 of file winddi.h.

◆ PO_ELLIPSE

#define PO_ELLIPSE   0x00000002

Definition at line 945 of file winddi.h.

◆ PO_ENUM_AS_INTEGERS

#define PO_ENUM_AS_INTEGERS   0x00000008

Definition at line 947 of file winddi.h.

◆ PO_WIDENED

#define PO_WIDENED   0x00000010

Definition at line 949 of file winddi.h.

◆ PPC_BGR_ORDER_HORIZONTAL_STRIPES

#define PPC_BGR_ORDER_HORIZONTAL_STRIPES   0x5

Definition at line 872 of file winddi.h.

◆ PPC_BGR_ORDER_VERTICAL_STRIPES

#define PPC_BGR_ORDER_VERTICAL_STRIPES   0x3

Definition at line 870 of file winddi.h.

◆ PPC_DEFAULT

#define PPC_DEFAULT   0x0

Definition at line 867 of file winddi.h.

◆ PPC_RGB_ORDER_HORIZONTAL_STRIPES

#define PPC_RGB_ORDER_HORIZONTAL_STRIPES   0x4

Definition at line 871 of file winddi.h.

◆ PPC_RGB_ORDER_VERTICAL_STRIPES

#define PPC_RGB_ORDER_VERTICAL_STRIPES   0x2

Definition at line 869 of file winddi.h.

◆ PPC_UNDEFINED

#define PPC_UNDEFINED   0x1

Definition at line 868 of file winddi.h.

◆ PPG_DEFAULT

#define PPG_DEFAULT   0

Definition at line 874 of file winddi.h.

◆ PPG_SRGB

#define PPG_SRGB   1

Definition at line 875 of file winddi.h.

◆ PRIMARY_ORDER_ABC

#define PRIMARY_ORDER_ABC   0

Definition at line 781 of file winddi.h.

◆ PRIMARY_ORDER_ACB

#define PRIMARY_ORDER_ACB   1

Definition at line 782 of file winddi.h.

◆ PRIMARY_ORDER_BAC

#define PRIMARY_ORDER_BAC   2

Definition at line 783 of file winddi.h.

◆ PRIMARY_ORDER_BCA

#define PRIMARY_ORDER_BCA   3

Definition at line 784 of file winddi.h.

◆ PRIMARY_ORDER_CAB

#define PRIMARY_ORDER_CAB   5

Definition at line 786 of file winddi.h.

◆ PRIMARY_ORDER_CBA

#define PRIMARY_ORDER_CBA   4

Definition at line 785 of file winddi.h.

◆ QAW_GETEASYWIDTHS

#define QAW_GETEASYWIDTHS   1

Definition at line 3790 of file winddi.h.

◆ QAW_GETWIDTHS

#define QAW_GETWIDTHS   0

Definition at line 3789 of file winddi.h.

◆ QC_1BIT

#define QC_1BIT   0x00000002

Definition at line 3843 of file winddi.h.

◆ QC_4BIT

#define QC_4BIT   0x00000004

Definition at line 3844 of file winddi.h.

◆ QC_FONTDRIVERCAPS

#define QC_FONTDRIVERCAPS   (QC_OUTLINES | QC_1BIT | QC_4BIT)

Definition at line 3845 of file winddi.h.

◆ QC_OUTLINES

#define QC_OUTLINES   0x00000001

Definition at line 3842 of file winddi.h.

◆ QDS_CHECKJPEGFORMAT

#define QDS_CHECKJPEGFORMAT   0x00000000

Definition at line 3804 of file winddi.h.

◆ QDS_CHECKPNGFORMAT

#define QDS_CHECKPNGFORMAT   0x00000001

Definition at line 3805 of file winddi.h.

◆ QFD_GLYPHANDBITMAP

#define QFD_GLYPHANDBITMAP   1L

Definition at line 3855 of file winddi.h.

◆ QFD_GLYPHANDOUTLINE

#define QFD_GLYPHANDOUTLINE   2L

Definition at line 3856 of file winddi.h.

◆ QFD_MAXEXTENTS

#define QFD_MAXEXTENTS   3L

Definition at line 3857 of file winddi.h.

◆ QFD_TT_GLYPHANDBITMAP

#define QFD_TT_GLYPHANDBITMAP   4L

Definition at line 3858 of file winddi.h.

◆ QFD_TT_GRAY1_BITMAP

#define QFD_TT_GRAY1_BITMAP   5L

Definition at line 3859 of file winddi.h.

◆ QFD_TT_GRAY2_BITMAP

#define QFD_TT_GRAY2_BITMAP   6L

Definition at line 3860 of file winddi.h.

◆ QFD_TT_GRAY4_BITMAP

#define QFD_TT_GRAY4_BITMAP   8L

Definition at line 3861 of file winddi.h.

◆ QFD_TT_GRAY8_BITMAP

#define QFD_TT_GRAY8_BITMAP   9L

Definition at line 3862 of file winddi.h.

◆ QFD_TT_MONO_BITMAP

#define QFD_TT_MONO_BITMAP   QFD_TT_GRAY1_BITMAP

Definition at line 3864 of file winddi.h.

◆ QFF_DESCRIPTION

#define QFF_DESCRIPTION   0x00000001

Definition at line 3879 of file winddi.h.

◆ QFF_NUMFACES

#define QFF_NUMFACES   0x00000002

Definition at line 3880 of file winddi.h.

◆ QFT_GLYPHSET

#define QFT_GLYPHSET   3L

Definition at line 3895 of file winddi.h.

◆ QFT_KERNPAIRS

#define QFT_KERNPAIRS   2L

Definition at line 3894 of file winddi.h.

◆ QFT_LIGATURES

#define QFT_LIGATURES   1L

Definition at line 3893 of file winddi.h.

◆ QFT_UNICODE

#define QFT_UNICODE   0L

Definition at line 3892 of file winddi.h.

◆ QSA_3DNOW

#define QSA_3DNOW   0x00004000

Definition at line 2294 of file winddi.h.

◆ QSA_MMX

#define QSA_MMX   0x00000100

Definition at line 2292 of file winddi.h.

◆ QSA_SSE

#define QSA_SSE   0x00002000

Definition at line 2293 of file winddi.h.

◆ QSA_SSE1

#define QSA_SSE1   QSA_SSE

Definition at line 2296 of file winddi.h.

◆ QSA_SSE2

#define QSA_SSE2   0x00010000

Definition at line 2297 of file winddi.h.

◆ QSA_SSE3

#define QSA_SSE3   0x00080000

Definition at line 2298 of file winddi.h.

◆ RB_DITHERCOLOR

#define RB_DITHERCOLOR   0x80000000L

Definition at line 3952 of file winddi.h.

◆ SGI_EXTRASPACE

#define SGI_EXTRASPACE   0

Definition at line 174 of file winddi.h.

◆ SIZEOFAXIA

#define SIZEOFAXIA (   cAxes)    (offsetof(AXESLISTA, axlAxisInfo) + (cAxes) * sizeof(AXISINFOA))

Definition at line 193 of file winddi.h.

◆ SIZEOFAXIW

#define SIZEOFAXIW (   cAxes)    (offsetof(AXESLISTW, axlAxisInfo) + (cAxes) * sizeof(AXISINFOW))

Definition at line 192 of file winddi.h.

◆ SIZEOFDV

#define SIZEOFDV (   cAxes)    (offsetof(DESIGNVECTOR, dvValues) + (cAxes) * sizeof(LONG))

Definition at line 191 of file winddi.h.

◆ SO_BREAK_EXTRA

#define SO_BREAK_EXTRA   0x00001000

Definition at line 1162 of file winddi.h.

◆ SO_CHAR_INC_EQUAL_BM_BASE

#define SO_CHAR_INC_EQUAL_BM_BASE   0x00000020

Definition at line 1155 of file winddi.h.

◆ SO_CHARACTER_EXTRA

#define SO_CHARACTER_EXTRA   0x00000800

Definition at line 1161 of file winddi.h.

◆ SO_DO_NOT_SUBSTITUTE_DEVICE_FONT

#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT   0x00000080

Definition at line 1157 of file winddi.h.

◆ SO_DXDY

#define SO_DXDY   0x00000400

Definition at line 1160 of file winddi.h.

◆ SO_ESC_NOT_ORIENT

#define SO_ESC_NOT_ORIENT   0x00000200

Definition at line 1159 of file winddi.h.

◆ SO_FLAG_DEFAULT_PLACEMENT

#define SO_FLAG_DEFAULT_PLACEMENT   0x00000001

Definition at line 1150 of file winddi.h.

◆ SO_GLYPHINDEX_TEXTOUT

#define SO_GLYPHINDEX_TEXTOUT   0x00000100

Definition at line 1158 of file winddi.h.

◆ SO_HORIZONTAL

#define SO_HORIZONTAL   0x00000002

Definition at line 1151 of file winddi.h.

◆ SO_MAXEXT_EQUAL_BM_SIDE

#define SO_MAXEXT_EQUAL_BM_SIDE   0x00000040

Definition at line 1156 of file winddi.h.

◆ SO_REVERSED

#define SO_REVERSED   0x00000008

Definition at line 1153 of file winddi.h.

◆ SO_VERTICAL

#define SO_VERTICAL   0x00000004

Definition at line 1152 of file winddi.h.

◆ SO_ZERO_BEARINGS

#define SO_ZERO_BEARINGS   0x00000010

Definition at line 1154 of file winddi.h.

◆ SPS_ACCEPT_EXCLUDE

#define SPS_ACCEPT_EXCLUDE   0x00000003

Definition at line 4031 of file winddi.h.

◆ SPS_ACCEPT_NOEXCLUDE

#define SPS_ACCEPT_NOEXCLUDE   0x00000002

Definition at line 4030 of file winddi.h.

◆ SPS_ACCEPT_SYNCHRONOUS

#define SPS_ACCEPT_SYNCHRONOUS   0x00000004

Definition at line 4032 of file winddi.h.

◆ SPS_ALPHA

#define SPS_ALPHA   0x00000010L

Definition at line 4039 of file winddi.h.

◆ SPS_ANIMATESTART

#define SPS_ANIMATESTART   0x00000004L

Definition at line 4037 of file winddi.h.

◆ SPS_ANIMATEUPDATE

#define SPS_ANIMATEUPDATE   0x00000008L

Definition at line 4038 of file winddi.h.

◆ SPS_ASYNCCHANGE

#define SPS_ASYNCCHANGE   0x00000002L

Definition at line 4036 of file winddi.h.

◆ SPS_CHANGE

#define SPS_CHANGE   0x00000001L

Definition at line 4035 of file winddi.h.

◆ SPS_DECLINE

#define SPS_DECLINE   0x00000001

Definition at line 4029 of file winddi.h.

◆ SPS_ERROR

#define SPS_ERROR   0x00000000

Definition at line 4028 of file winddi.h.

◆ SPS_FLAGSMASK

#define SPS_FLAGSMASK   0x000000FFL

Definition at line 4042 of file winddi.h.

◆ SPS_FREQMASK

#define SPS_FREQMASK   0x000FF000L

Definition at line 4044 of file winddi.h.

◆ SPS_LENGTHMASK

#define SPS_LENGTHMASK   0x00000F00L

Definition at line 4043 of file winddi.h.

◆ SPS_RESERVED

#define SPS_RESERVED   0x00000020L /* Force s/w cursor rendering */

Definition at line 4040 of file winddi.h.

◆ SPS_RESERVED1

#define SPS_RESERVED1   0x00000040L /* Force show/hide system cursor */

Definition at line 4041 of file winddi.h.

◆ SS_FREE

#define SS_FREE   0x00000002

Definition at line 3988 of file winddi.h.

◆ SS_RESTORE

#define SS_RESTORE   0x00000001

Definition at line 3987 of file winddi.h.

◆ SS_SAVE

#define SS_SAVE   0x00000000

Definition at line 3986 of file winddi.h.

◆ STATICGUIDOF

#define STATICGUIDOF (   guid)    STATIC_##guid

Definition at line 78 of file winddi.h.

◆ STYPE_BITMAP

#define STYPE_BITMAP   0L

Definition at line 1175 of file winddi.h.

◆ STYPE_DEVBITMAP

#define STYPE_DEVBITMAP   3L

Definition at line 1177 of file winddi.h.

◆ STYPE_DEVICE

#define STYPE_DEVICE   1L

Definition at line 1176 of file winddi.h.

◆ TC_PATHOBJ

#define TC_PATHOBJ   2

Definition at line 270 of file winddi.h.

◆ TC_RECTANGLES

#define TC_RECTANGLES   0

Definition at line 269 of file winddi.h.

◆ TTO_METRICS_ONLY

#define TTO_METRICS_ONLY   0x00000001

Definition at line 3922 of file winddi.h.

◆ TTO_QUBICS

#define TTO_QUBICS   0x00000002

Definition at line 3923 of file winddi.h.

◆ TTO_UNHINTED

#define TTO_UNHINTED   0x00000004

Definition at line 3924 of file winddi.h.

◆ WINDDI_MAX_BROADCAST_CONTEXT

#define WINDDI_MAX_BROADCAST_CONTEXT   64

Definition at line 4379 of file winddi.h.

◆ WINDDI_MAXSETPALETTECOLORINDEX

#define WINDDI_MAXSETPALETTECOLORINDEX   255

Definition at line 4007 of file winddi.h.

◆ WINDDI_MAXSETPALETTECOLORS

#define WINDDI_MAXSETPALETTECOLORS   256

Definition at line 4006 of file winddi.h.

◆ WNDOBJ_SETUP

#define WNDOBJ_SETUP   4354

Definition at line 151 of file winddi.h.

◆ WO_DRAW_NOTIFY

#define WO_DRAW_NOTIFY   0x00000040

Definition at line 1599 of file winddi.h.

◆ WO_RGN_CLIENT

#define WO_RGN_CLIENT   0x00000002

Definition at line 1594 of file winddi.h.

◆ WO_RGN_CLIENT_DELTA

#define WO_RGN_CLIENT_DELTA   0x00000001

Definition at line 1593 of file winddi.h.

◆ WO_RGN_DESKTOP_COORD

#define WO_RGN_DESKTOP_COORD   0x00000100

Definition at line 1601 of file winddi.h.

◆ WO_RGN_SPRITE

#define WO_RGN_SPRITE   0x00000200

Definition at line 1603 of file winddi.h.

◆ WO_RGN_SURFACE

#define WO_RGN_SURFACE   0x00000008

Definition at line 1596 of file winddi.h.

◆ WO_RGN_SURFACE_DELTA

#define WO_RGN_SURFACE_DELTA   0x00000004

Definition at line 1595 of file winddi.h.

◆ WO_RGN_UPDATE_ALL

#define WO_RGN_UPDATE_ALL   0x00000010

Definition at line 1597 of file winddi.h.

◆ WO_RGN_WINDOW

#define WO_RGN_WINDOW   0x00000020

Definition at line 1598 of file winddi.h.

◆ WO_SPRITE_NOTIFY

#define WO_SPRITE_NOTIFY   0x00000080

Definition at line 1600 of file winddi.h.

◆ WOC_CHANGED

#define WOC_CHANGED   0x00000010

Definition at line 1268 of file winddi.h.

◆ WOC_DELETE

#define WOC_DELETE   0x00000020

Definition at line 1269 of file winddi.h.

◆ WOC_DRAWN

#define WOC_DRAWN   0x00000040

Definition at line 1270 of file winddi.h.

◆ WOC_RGN_CLIENT

#define WOC_RGN_CLIENT   0x00000002

Definition at line 1265 of file winddi.h.

◆ WOC_RGN_CLIENT_DELTA

#define WOC_RGN_CLIENT_DELTA   0x00000001

Definition at line 1264 of file winddi.h.

◆ WOC_RGN_SPRITE

#define WOC_RGN_SPRITE   0x00000200

Definition at line 1274 of file winddi.h.

◆ WOC_RGN_SURFACE

#define WOC_RGN_SURFACE   0x00000008

Definition at line 1267 of file winddi.h.

◆ WOC_RGN_SURFACE_DELTA

#define WOC_RGN_SURFACE_DELTA   0x00000004

Definition at line 1266 of file winddi.h.

◆ WOC_SPRITE_NO_OVERLAP

#define WOC_SPRITE_NO_OVERLAP   0x00000100

Definition at line 1272 of file winddi.h.

◆ WOC_SPRITE_OVERLAP

#define WOC_SPRITE_OVERLAP   0x00000080

Definition at line 1271 of file winddi.h.

◆ XF_INV_FXTOL

#define XF_INV_FXTOL   3L

Definition at line 3112 of file winddi.h.

◆ XF_INV_LTOL

#define XF_INV_LTOL   1L

Definition at line 3110 of file winddi.h.

◆ XF_LTOFX

#define XF_LTOFX   2L

Definition at line 3111 of file winddi.h.

◆ XF_LTOL

#define XF_LTOL   0L

Definition at line 3109 of file winddi.h.

◆ XO_DESTBITFIELDS

#define XO_DESTBITFIELDS   5

Definition at line 3155 of file winddi.h.

◆ XO_DESTDCPALETTE

#define XO_DESTDCPALETTE   3

Definition at line 3153 of file winddi.h.

◆ XO_DESTPALETTE

#define XO_DESTPALETTE   2

Definition at line 3152 of file winddi.h.

◆ XO_DEVICE_ICM

#define XO_DEVICE_ICM   0x00000010

Definition at line 1251 of file winddi.h.

◆ XO_FROM_CMYK

#define XO_FROM_CMYK   0x00000008

Definition at line 1250 of file winddi.h.

◆ XO_HOST_ICM

#define XO_HOST_ICM   0x00000020

Definition at line 1252 of file winddi.h.

◆ XO_SRCBITFIELDS

#define XO_SRCBITFIELDS   4

Definition at line 3154 of file winddi.h.

◆ XO_SRCPALETTE

#define XO_SRCPALETTE   1

Definition at line 3151 of file winddi.h.

◆ XO_TABLE

#define XO_TABLE   0x00000002

Definition at line 1248 of file winddi.h.

◆ XO_TO_MONO

#define XO_TO_MONO   0x00000004

Definition at line 1249 of file winddi.h.

◆ XO_TRIVIAL

#define XO_TRIVIAL   0x00000001

Definition at line 1247 of file winddi.h.

Typedef Documentation

◆ _In_bytecount_

typedef _In_ XLATEOBJ _In_ XFORMOBJ _In_ ULONG _In_ ULONG _In_bytecount_(cjIn) PVOID pvIn

Definition at line 3582 of file winddi.h.

◆ _In_count_

typedef _In_ ULONG_PTR _In_count_(cFiles) ULONG *pcjView

Definition at line 3721 of file winddi.h.

◆ _In_range_

typedef _In_ PALOBJ _In_ FLONG _In_range_(0, WINDDI_MAXSETPALETTECOLORS - iStart) ULONG cColors)

Definition at line 4014 of file winddi.h.

◆ _In_reads_

Definition at line 3797 of file winddi.h.

◆ _In_reads_bytes_

typedef _In_ LPLOGCOLORSPACEW _In_ ULONG _In_reads_bytes_(cjDestProfile) PVOID pvDestProfile

Definition at line 3533 of file winddi.h.

◆ _In_reads_bytes_opt_

Definition at line 3674 of file winddi.h.

◆ _Inout_bytecount_

typedef _In_ ULONG _Inout_bytecount_(cj) DRVENABLEDATA *pded)

Definition at line 3541 of file winddi.h.

◆ _Inout_updates_

typedef _In_ ULONG _In_ ULONG _Inout_updates_(8 *8) ULONG *pul)

Definition at line 3522 of file winddi.h.

◆ _Out_bytecap_

Definition at line 3552 of file winddi.h.

◆ _Out_opt_bytecap_

typedef _In_ ULONG _In_ ULONG _In_ PTRDIFF _In_ ULONG _Out_opt_bytecap_(cjBuf) BYTE *pjBuf

Definition at line 3635 of file winddi.h.

◆ _Out_opt_cap_

typedef _In_ LPWSTR _In_ ULONG _Out_opt_cap_(cPat) HSURF *phsurfPatterns

Definition at line 3550 of file winddi.h.

◆ _Out_writes_bytes_

typedef _In_ FONTOBJ _In_ ULONG _Out_writes_bytes_(cGlyphs *sizeof(USHORT)) PVOID pvWidths

Definition at line 3798 of file winddi.h.

◆ _When_

Initial value:
FLTAPI
FltCancellableWaitForMultipleObjects(
_In_reads_(Count) PVOID ObjectArray[],
LONG NTSTATUS
Definition: precomp.h:26
#define NULL
Definition: types.h:112
struct tagCallbackData CallbackData
Definition: fltkernel.h:2090
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define FLT_IS_IRP_OPERATION(Data)
Definition: fltkernel.h:430
_Must_inspect_result_ _In_ WAIT_TYPE _In_opt_ PLARGE_INTEGER _In_opt_ PKWAIT_BLOCK WaitBlockArray
Definition: fsrtlfuncs.h:1153
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
int Count
Definition: noreturn.cpp:7
enum _WAIT_TYPE WAIT_TYPE
static ULONG Timeout
Definition: ping.c:61
WaitType
Definition: shlextdbg.cpp:386
uint32_t ULONG
Definition: typedefs.h:59
_In_ FONTOBJ _In_ ULONG _In_reads_(cGlyphs) HGLYPH *phg
Definition: winddi.h:3797

Definition at line 4093 of file winddi.h.

◆ bDeviceLost

Definition at line 4407 of file winddi.h.

◆ bDiscard

typedef _In_ BOOL bDiscard

Definition at line 4398 of file winddi.h.

◆ bEnable

typedef _In_ BOOL bEnable

Definition at line 3426 of file winddi.h.

◆ BLENDOBJ

◆ bMetricsOnly

Definition at line 3931 of file winddi.h.

◆ bottom

Definition at line 4284 of file winddi.h.

◆ BRUSHOBJ

◆ CDDDXGK_REDIRBITMAPPRESENTINFO

◆ cGlyphs

Definition at line 3799 of file winddi.h.

◆ CIECHROMA

◆ cj

Definition at line 3540 of file winddi.h.

◆ cjBuf

Definition at line 3827 of file winddi.h.

◆ cjCaps

Definition at line 3551 of file winddi.h.

◆ cjDestProfile

Definition at line 3677 of file winddi.h.

◆ cjDevInfo

Definition at line 3553 of file winddi.h.

◆ cjIn

Definition at line 3532 of file winddi.h.

◆ cjOut

Definition at line 3583 of file winddi.h.

◆ cjpfd

Definition at line 3489 of file winddi.h.

◆ cjSize

Definition at line 3634 of file winddi.h.

◆ cjSourceProfile

Definition at line 3675 of file winddi.h.

◆ cjTargetProfile

◆ CLIPLINE

◆ CLIPOBJ

◆ COLORINFO

◆ cPat

Definition at line 3549 of file winddi.h.

◆ DEVHTADJDATA

◆ DEVHTINFO

◆ DEVINFO

◆ dhpdevNew

Definition at line 3981 of file winddi.h.

◆ dhsurfGroup

Definition at line 4348 of file winddi.h.

◆ dpStart

Definition at line 3943 of file winddi.h.

◆ DRH_APIBITMAPDATA

◆ DRIVEROBJ

◆ DRVENABLEDATA

◆ DRVFN

typedef struct _DRVFN DRVFN

◆ dwJobId

Definition at line 4072 of file winddi.h.

◆ dwReserved

◆ DxFormat

Definition at line 4349 of file winddi.h.

◆ ENG_DEVICE_ATTRIBUTE

◆ ENG_SYSTEM_ATTRIBUTE

◆ ENG_TIME_FIELDS

◆ ENGSAFESEMAPHORE

◆ ENUMRECTS

◆ FD_DEVICEMETRICS

◆ FD_GLYPHATTR

◆ FD_GLYPHSET

◆ FD_KERNINGPAIR

◆ FD_LIGATURE

◆ FD_XFORM

◆ FIX

typedef LONG FIX

Definition at line 126 of file winddi.h.

◆ fl

Definition at line 1279 of file winddi.h.

◆ Flags

Definition at line 4347 of file winddi.h.

◆ FLOAT_LONG

typedef union _FLOAT_LONG FLOAT_LONG

◆ FLOATL

typedef FLOAT FLOATL

Definition at line 114 of file winddi.h.

◆ FLOATOBJ

typedef FLOAT FLOATOBJ

Definition at line 677 of file winddi.h.

◆ FLOATOBJ_XFORM

◆ flOptions

◆ flReserved

Definition at line 3758 of file winddi.h.

◆ FONTDIFF

◆ FONTINFO

◆ FONTOBJ

◆ FONTSIM

◆ FWORD

typedef SHORT FWORD

Definition at line 117 of file winddi.h.

◆ GAMMA_TABLES

typedef BYTE GAMMA_TABLES[2][256]

Definition at line 957 of file winddi.h.

◆ GAMMARAMP

◆ GDIINFO

◆ GLYPHBITS

◆ GLYPHDATA

◆ GLYPHDEF

typedef union _GLYPHDEF GLYPHDEF

◆ GLYPHPOS

◆ GUID

typedef struct _GUID GUID

◆ hcmXform

typedef _In_ HANDLE hcmXform

Definition at line 3687 of file winddi.h.

◆ hColorTransform

Definition at line 3664 of file winddi.h.

◆ hdev

Definition at line 3449 of file winddi.h.

◆ hDriver

◆ HFC

typedef ULONG_PTR HFC

Definition at line 122 of file winddi.h.

◆ HFF

typedef ULONG_PTR HFF

Definition at line 121 of file winddi.h.

◆ hg

Definition at line 3871 of file winddi.h.

◆ HGLYPH

typedef ULONG HGLYPH

Definition at line 130 of file winddi.h.

◆ hglyph

Definition at line 3930 of file winddi.h.

◆ hLogicalSurface

Definition at line 4367 of file winddi.h.

◆ hPhysicalSurface

Definition at line 4366 of file winddi.h.

◆ hRgnA

typedef _In_ HANDLE hRgnA

Definition at line 4309 of file winddi.h.

◆ hRgnB

Definition at line 4310 of file winddi.h.

◆ hrgnSrc

typedef _In_ HANDLE hrgnSrc

Definition at line 4303 of file winddi.h.

◆ hrgnSrc1

typedef _In_ HANDLE hrgnSrc1

Definition at line 4295 of file winddi.h.

◆ hrgnSrc2

Definition at line 4296 of file winddi.h.

◆ hwnd

typedef _In_ LONG _In_ HWND hwnd

Definition at line 4023 of file winddi.h.

◆ id

typedef _In_ ULONG_PTR id

Definition at line 3615 of file winddi.h.

◆ IDENT

typedef ULONG IDENT

Definition at line 119 of file winddi.h.

◆ ident

Definition at line 3994 of file winddi.h.

◆ iEsc

typedef _In_ ULONG iEsc

Definition at line 3529 of file winddi.h.

◆ iFace

Definition at line 3836 of file winddi.h.

◆ IFIEXTRA

◆ iFile

typedef _In_ ULONG_PTR iFile

Definition at line 3835 of file winddi.h.

◆ IFIMETRICS

◆ iFormat

Definition at line 3468 of file winddi.h.

◆ iHatch

◆ iMode

Definition at line 3520 of file winddi.h.

◆ iPixelFormat

Definition at line 3488 of file winddi.h.

◆ iTransColor

◆ iType

Definition at line 3748 of file winddi.h.

◆ KernelModeDeviceHandle

Definition at line 4399 of file winddi.h.

◆ LDECI4

typedef LONG LDECI4

Definition at line 118 of file winddi.h.

◆ Length

Definition at line 4266 of file winddi.h.

◆ LIGATURE

◆ LINEATTRS

◆ LPFLOATOBJ_XFORM

◆ MIX

typedef ULONG MIX

Definition at line 129 of file winddi.h.

◆ mix

◆ mixFill

◆ nMesh

◆ NotifyCode

Definition at line 4265 of file winddi.h.

◆ nVertex

Definition at line 3652 of file winddi.h.

◆ PALOBJ

◆ PATHDATA

◆ PATHOBJ

◆ pbi

Definition at line 3917 of file winddi.h.

◆ PBLENDOBJ

◆ pBlendObj

◆ pbo

Definition at line 3440 of file winddi.h.

◆ pboFill

◆ pboFore

◆ pboOpaque

◆ pboStroke

◆ pca

◆ pCallBacks

Definition at line 4217 of file winddi.h.

◆ pcbNeeded

Definition at line 3828 of file winddi.h.

◆ pcj

typedef _In_ ULONG* pcj

Definition at line 3642 of file winddi.h.

◆ pcjTable

◆ PCLIPLINE

◆ pco

Definition at line 3415 of file winddi.h.

◆ PCOLORINFO

◆ PDEVHTADJDATA

◆ PDEVHTINFO

◆ PDEVINFO

◆ pdi

Definition at line 3554 of file winddi.h.

◆ pDirty

Definition at line 4391 of file winddi.h.

◆ PDRH_APIBITMAPDATA

◆ PDRVENABLEDATA

◆ PDRVFN

typedef struct _DRVFN * PDRVFN

◆ pdv

Definition at line 3723 of file winddi.h.

◆ pdwFourCC

◆ pdwNumFourCCCodes

◆ pdwNumHeaps

Definition at line 4227 of file winddi.h.

◆ PEMFINFO

typedef struct EMFINFO * PEMFINFO

◆ PENG_TIME_FIELDS

◆ PERBANDINFO

◆ PEVENT

Definition at line 146 of file winddi.h.

◆ PFD_DEVICEMETRICS

◆ PFD_GLYPHATTR

◆ PFD_GLYPHSET

◆ PFD_XFORM

◆ PFIX

typedef FIX* PFIX

Definition at line 127 of file winddi.h.

◆ PFLOAT_LONG

typedef union _FLOAT_LONG * PFLOAT_LONG

◆ PFLOATOBJ

typedef FLOAT * PFLOATOBJ

Definition at line 677 of file winddi.h.

◆ PFLOATOBJ_XFORM

◆ PFN

typedef LONG_PTR(APIENTRY * PFN) ()

Definition at line 133 of file winddi.h.

◆ PFN_DrvAccumulateD3DDirtyRect

typedef FN_DrvAccumulateD3DDirtyRect* PFN_DrvAccumulateD3DDirtyRect

Definition at line 4392 of file winddi.h.

◆ PFN_DrvAlphaBlend

typedef FN_DrvAlphaBlend* PFN_DrvAlphaBlend

Definition at line 3420 of file winddi.h.

◆ PFN_DrvAssertMode

typedef FN_DrvAssertMode* PFN_DrvAssertMode

Definition at line 3427 of file winddi.h.

◆ PFN_DrvAssociateSharedSurface

typedef FN_DrvAssociateSharedSurface* PFN_DrvAssociateSharedSurface

Definition at line 4369 of file winddi.h.

◆ PFN_DrvBitBlt

typedef FN_DrvBitBlt* PFN_DrvBitBlt

Definition at line 3443 of file winddi.h.

◆ PFN_DrvCompletePDEV

typedef FN_DrvCompletePDEV* PFN_DrvCompletePDEV

Definition at line 3450 of file winddi.h.

◆ PFN_DrvCopyBits

typedef FN_DrvCopyBits* PFN_DrvCopyBits

Definition at line 3461 of file winddi.h.

◆ PFN_DrvCreateDeviceBitmap

typedef FN_DrvCreateDeviceBitmap* PFN_DrvCreateDeviceBitmap

Definition at line 3469 of file winddi.h.

◆ PFN_DrvCreateDeviceBitmapEx

typedef FN_DrvCreateDeviceBitmapEx* PFN_DrvCreateDeviceBitmapEx

Definition at line 4354 of file winddi.h.

◆ PFN_DrvDeleteDeviceBitmap

typedef FN_DrvDeleteDeviceBitmap* PFN_DrvDeleteDeviceBitmap

Definition at line 3475 of file winddi.h.

◆ PFN_DrvDeleteDeviceBitmapEx

typedef FN_DrvDeleteDeviceBitmapEx* PFN_DrvDeleteDeviceBitmapEx

Definition at line 4360 of file winddi.h.

◆ PFN_DrvDeriveSurface

typedef FN_DrvDeriveSurface* PFN_DrvDeriveSurface

Definition at line 3482 of file winddi.h.

◆ PFN_DrvDescribePixelFormat

typedef FN_DrvDescribePixelFormat* PFN_DrvDescribePixelFormat

Definition at line 3491 of file winddi.h.

◆ PFN_DrvDestroyFont

typedef FN_DrvDestroyFont* PFN_DrvDestroyFont

Definition at line 3497 of file winddi.h.

◆ PFN_DrvDisableDirectDraw

typedef FN_DrvDisableDirectDraw* PFN_DrvDisableDirectDraw

Definition at line 4211 of file winddi.h.

◆ PFN_DrvDisableDriver

typedef FN_DrvDisableDriver* PFN_DrvDisableDriver

Definition at line 3502 of file winddi.h.

◆ PFN_DrvDisablePDEV

typedef FN_DrvDisablePDEV* PFN_DrvDisablePDEV

Definition at line 3508 of file winddi.h.

◆ PFN_DrvDisableSurface

typedef FN_DrvDisableSurface* PFN_DrvDisableSurface

Definition at line 3514 of file winddi.h.

◆ PFN_DrvDitherColor

typedef FN_DrvDitherColor* PFN_DrvDitherColor

Definition at line 3523 of file winddi.h.

◆ PFN_DrvDrawEscape

typedef FN_DrvDrawEscape* PFN_DrvDrawEscape

Definition at line 3534 of file winddi.h.

◆ PFN_DrvEnableDirectDraw

typedef FN_DrvEnableDirectDraw* PFN_DrvEnableDirectDraw

Definition at line 4220 of file winddi.h.

◆ PFN_DrvEnableDriver

typedef FN_DrvEnableDriver* PFN_DrvEnableDriver

Definition at line 3542 of file winddi.h.

◆ PFN_DrvEnablePDEV

typedef FN_DrvEnablePDEV* PFN_DrvEnablePDEV

Definition at line 3558 of file winddi.h.

◆ PFN_DrvEnableSurface

typedef FN_DrvEnableSurface* PFN_DrvEnableSurface

Definition at line 3564 of file winddi.h.

◆ PFN_DrvEndDoc

typedef FN_DrvEndDoc* PFN_DrvEndDoc

Definition at line 3574 of file winddi.h.

◆ PFN_DrvEndDxInterop

typedef FN_DrvEndDxInterop* PFN_DrvEndDxInterop

Definition at line 4409 of file winddi.h.

◆ PFN_DrvEscape

typedef FN_DrvEscape* PFN_DrvEscape

Definition at line 3585 of file winddi.h.

◆ PFN_DrvFillPath

typedef FN_DrvFillPath* PFN_DrvFillPath

Definition at line 3597 of file winddi.h.

◆ PFN_DrvFontManagement

typedef FN_DrvFontManagement* PFN_DrvFontManagement

Definition at line 3609 of file winddi.h.

◆ PFN_DrvFree

typedef FN_DrvFree* PFN_DrvFree

Definition at line 3616 of file winddi.h.

◆ PFN_DrvGetDirectDrawInfo

typedef FN_DrvGetDirectDrawInfo* PFN_DrvGetDirectDrawInfo

Definition at line 4231 of file winddi.h.

◆ PFN_DrvGetGlyphMode

typedef FN_DrvGetGlyphMode* PFN_DrvGetGlyphMode

Definition at line 3628 of file winddi.h.

◆ PFN_DrvGetModes

typedef FN_DrvGetModes* PFN_DrvGetModes

Definition at line 3636 of file winddi.h.

◆ PFN_DrvGetTrueTypeFile

typedef FN_DrvGetTrueTypeFile* PFN_DrvGetTrueTypeFile

Definition at line 3643 of file winddi.h.

◆ PFN_DrvGradientFill

typedef FN_DrvGradientFill* PFN_DrvGradientFill

Definition at line 3658 of file winddi.h.

◆ PFN_DrvIcmCheckBitmapBits

typedef FN_DrvIcmCheckBitmapBits* PFN_DrvIcmCheckBitmapBits

Definition at line 3667 of file winddi.h.

◆ PFN_DrvIcmCreateColorTransform

typedef FN_DrvIcmCreateColorTransform* PFN_DrvIcmCreateColorTransform

Definition at line 3681 of file winddi.h.

◆ PFN_DrvIcmDeleteColorTransform

typedef FN_DrvIcmDeleteColorTransform* PFN_DrvIcmDeleteColorTransform

Definition at line 3688 of file winddi.h.

◆ PFN_DrvIcmSetDeviceGammaRamp

typedef FN_DrvIcmSetDeviceGammaRamp* PFN_DrvIcmSetDeviceGammaRamp

Definition at line 3700 of file winddi.h.

◆ PFN_DrvLineTo

typedef FN_DrvLineTo* PFN_DrvLineTo

Definition at line 3714 of file winddi.h.

◆ PFN_DrvLoadFontFile

typedef FN_DrvLoadFontFile* PFN_DrvLoadFontFile

Definition at line 3726 of file winddi.h.

◆ PFN_DrvLockDisplayArea

typedef FN_DrvLockDisplayArea* PFN_DrvLockDisplayArea

Definition at line 4416 of file winddi.h.

◆ PFN_DrvMovePanning

typedef FN_DrvMovePanning* PFN_DrvMovePanning

Definition at line 4257 of file winddi.h.

◆ PFN_DrvMovePointer

typedef FN_DrvMovePointer* PFN_DrvMovePointer

Definition at line 3735 of file winddi.h.

◆ PFN_DrvNextBand

typedef FN_DrvNextBand* PFN_DrvNextBand

Definition at line 3742 of file winddi.h.

◆ PFN_DrvNotify

typedef FN_DrvNotify* PFN_DrvNotify

Definition at line 3750 of file winddi.h.

◆ PFN_DrvOffset

typedef FN_DrvOffset* PFN_DrvOffset

Definition at line 3759 of file winddi.h.

◆ PFN_DrvPaint

typedef FN_DrvPaint* PFN_DrvPaint

Definition at line 3769 of file winddi.h.

◆ PFN_DrvPlgBlt

typedef FN_DrvPlgBlt* PFN_DrvPlgBlt

Definition at line 3785 of file winddi.h.

◆ PFN_DrvQueryAdvanceWidths

typedef FN_DrvQueryAdvanceWidths* PFN_DrvQueryAdvanceWidths

Definition at line 3800 of file winddi.h.

◆ PFN_DrvQueryDeviceSupport

typedef FN_DrvQueryDeviceSupport* PFN_DrvQueryDeviceSupport

Definition at line 3817 of file winddi.h.

◆ PFN_DrvQueryDriverInfo

typedef FN_DrvQueryDriverInfo* PFN_DrvQueryDriverInfo

Definition at line 3829 of file winddi.h.

◆ PFN_DrvQueryFont

typedef FN_DrvQueryFont* PFN_DrvQueryFont

Definition at line 3838 of file winddi.h.

◆ PFN_DrvQueryFontCaps

typedef FN_DrvQueryFontCaps* PFN_DrvQueryFontCaps

Definition at line 3851 of file winddi.h.

◆ PFN_DrvQueryFontData

typedef FN_DrvQueryFontData* PFN_DrvQueryFontData

Definition at line 3875 of file winddi.h.

◆ PFN_DrvQueryFontFile

typedef FN_DrvQueryFontFile* PFN_DrvQueryFontFile

Definition at line 3888 of file winddi.h.

◆ PFN_DrvQueryFontTree

typedef FN_DrvQueryFontTree* PFN_DrvQueryFontTree

Definition at line 3904 of file winddi.h.

◆ PFN_DrvQueryGlyphAttrs

typedef FN_DrvQueryGlyphAttrs* PFN_DrvQueryGlyphAttrs

Definition at line 3911 of file winddi.h.

◆ PFN_DrvQueryPerBandInfo

typedef FN_DrvQueryPerBandInfo* PFN_DrvQueryPerBandInfo

Definition at line 3918 of file winddi.h.

◆ PFN_DrvQuerySpoolType

typedef FN_DrvQuerySpoolType* PFN_DrvQuerySpoolType

Definition at line 4238 of file winddi.h.

◆ PFN_DrvQueryTrueTypeOutline

typedef FN_DrvQueryTrueTypeOutline* PFN_DrvQueryTrueTypeOutline

Definition at line 3935 of file winddi.h.

◆ PFN_DrvQueryTrueTypeSection

typedef HANDLE PTRDIFF* typedef FN_DrvQueryTrueTypeSection* PFN_DrvQueryTrueTypeSection

Definition at line 4248 of file winddi.h.

◆ PFN_DrvQueryTrueTypeTable

typedef FN_DrvQueryTrueTypeTable* PFN_DrvQueryTrueTypeTable

Definition at line 3948 of file winddi.h.

◆ PFN_DrvRealizeBrush

typedef FN_DrvRealizeBrush* PFN_DrvRealizeBrush

Definition at line 3964 of file winddi.h.

◆ PFN_DrvRenderHint

typedef FN_DrvRenderHint* PFN_DrvRenderHint

Definition at line 4268 of file winddi.h.

◆ PFN_DrvResetDevice

typedef FN_DrvResetDevice* PFN_DrvResetDevice

Definition at line 3975 of file winddi.h.

◆ PFN_DrvResetPDEV

typedef FN_DrvResetPDEV* PFN_DrvResetPDEV

Definition at line 3982 of file winddi.h.

◆ PFN_DrvSaveScreenBits

typedef FN_DrvSaveScreenBits* PFN_DrvSaveScreenBits

Definition at line 3996 of file winddi.h.

◆ PFN_DrvSendPage

typedef FN_DrvSendPage* PFN_DrvSendPage

Definition at line 4002 of file winddi.h.

◆ PFN_DrvSetPalette

typedef FN_DrvSetPalette* PFN_DrvSetPalette

Definition at line 4016 of file winddi.h.

◆ PFN_DrvSetPixelFormat

typedef FN_DrvSetPixelFormat* PFN_DrvSetPixelFormat

Definition at line 4024 of file winddi.h.

◆ PFN_DrvSetPointerShape

typedef FN_DrvSetPointerShape* PFN_DrvSetPointerShape

Definition at line 4058 of file winddi.h.

◆ PFN_DrvStartBanding

typedef FN_DrvStartBanding* PFN_DrvStartBanding

Definition at line 4065 of file winddi.h.

◆ PFN_DrvStartDoc

typedef FN_DrvStartDoc* PFN_DrvStartDoc

Definition at line 4073 of file winddi.h.

◆ PFN_DrvStartDxInterop

typedef FN_DrvStartDxInterop* PFN_DrvStartDxInterop

Definition at line 4400 of file winddi.h.

◆ PFN_DrvStartPage

typedef FN_DrvStartPage* PFN_DrvStartPage

Definition at line 4079 of file winddi.h.

◆ PFN_DrvStretchBlt

typedef FN_DrvStretchBlt* PFN_DrvStretchBlt

Definition at line 4095 of file winddi.h.

◆ PFN_DrvStretchBltROP

typedef FN_DrvStretchBltROP* PFN_DrvStretchBltROP

Definition at line 4113 of file winddi.h.

◆ PFN_DrvStrokeAndFillPath

typedef FN_DrvStrokeAndFillPath* PFN_DrvStrokeAndFillPath

Definition at line 4128 of file winddi.h.

◆ PFN_DrvStrokePath

typedef FN_DrvStrokePath* PFN_DrvStrokePath

Definition at line 4141 of file winddi.h.

◆ PFN_DrvSwapBuffers

typedef FN_DrvSwapBuffers* PFN_DrvSwapBuffers

Definition at line 4148 of file winddi.h.

◆ PFN_DrvSynchronize

typedef FN_DrvSynchronize* PFN_DrvSynchronize

Definition at line 4155 of file winddi.h.

◆ PFN_DrvSynchronizeRedirectionBitmaps

typedef FN_DrvSynchronizeRedirectionBitmaps* PFN_DrvSynchronizeRedirectionBitmaps

Definition at line 4376 of file winddi.h.

◆ PFN_DrvSynchronizeSurface

typedef FN_DrvSynchronizeSurface* PFN_DrvSynchronizeSurface

Definition at line 4169 of file winddi.h.

◆ PFN_DrvTextOut

typedef FN_DrvTextOut* PFN_DrvTextOut

Definition at line 4184 of file winddi.h.

◆ PFN_DrvTransparentBlt

typedef FN_DrvTransparentBlt* PFN_DrvTransparentBlt

Definition at line 4197 of file winddi.h.

◆ PFN_DrvUnloadFontFile

typedef FN_DrvUnloadFontFile* PFN_DrvUnloadFontFile

Definition at line 4203 of file winddi.h.

◆ PFN_DrvUnlockDisplayArea

typedef FN_DrvUnlockDisplayArea* PFN_DrvUnlockDisplayArea

Definition at line 4423 of file winddi.h.

◆ PFN_EngCombineRgn

typedef FN_EngCombineRgn* PFN_EngCombineRgn

Definition at line 4298 of file winddi.h.

◆ PFN_EngCopyRgn

typedef FN_EngCopyRgn* PFN_EngCopyRgn

Definition at line 4304 of file winddi.h.

◆ PFN_EngCreateRectRgn

typedef FN_EngCreateRectRgn* PFN_EngCreateRectRgn

Definition at line 4285 of file winddi.h.

◆ PFN_EngDeleteRgn

typedef FN_EngDeleteRgn* PFN_EngDeleteRgn

Definition at line 4290 of file winddi.h.

◆ PFN_EngIntersectRgn

typedef FN_EngIntersectRgn* PFN_EngIntersectRgn

Definition at line 4311 of file winddi.h.

◆ PFN_EngSubtractRgn

typedef FN_EngSubtractRgn* PFN_EngSubtractRgn

Definition at line 4318 of file winddi.h.

◆ PFN_EngUnionRgn

typedef FN_EngUnionRgn* PFN_EngUnionRgn

Definition at line 4325 of file winddi.h.

◆ PFN_EngXorRgn

typedef FN_EngXorRgn* PFN_EngXorRgn

Definition at line 4332 of file winddi.h.

◆ pfo

typedef _In_ STROBJ _In_ FONTOBJ * pfo

Definition at line 3603 of file winddi.h.

◆ PFONTINFO

◆ PGAMMARAMP

◆ pgd

Definition at line 3872 of file winddi.h.

◆ PGDIINFO

◆ pgldt

Definition at line 3932 of file winddi.h.

◆ PGLYPHPOS

◆ pHalInfo

Definition at line 4226 of file winddi.h.

◆ PHGLYPH

typedef HGLYPH* PHGLYPH

Definition at line 131 of file winddi.h.

◆ phSharedSurface

Definition at line 4353 of file winddi.h.

◆ pid

Definition at line 3837 of file winddi.h.

◆ PIFIEXTRA

◆ piFile

Definition at line 3720 of file winddi.h.

◆ PIFIMETRICS

◆ PLIGATURE

◆ PLINEATTRS

◆ plineattrs

◆ pLogColorSpace

Definition at line 3673 of file winddi.h.

◆ pMesh

Definition at line 3653 of file winddi.h.

◆ POINTE

◆ POINTFIX

◆ POINTQF

◆ pPaletteCallBacks

◆ ppalo

typedef _In_ PALOBJ* ppalo

Definition at line 4012 of file winddi.h.

◆ PPATHDATA

◆ PPERBANDINFO

◆ ppfd

Definition at line 3490 of file winddi.h.

◆ ppjTable

◆ ppo

typedef _In_ PATHOBJ * ppo

Definition at line 3591 of file winddi.h.

◆ PPOINTE

typedef struct _POINTE * PPOINTE

◆ PPOINTFIX

◆ PPOINTQF

◆ pptfx

◆ pptl

typedef _In_ POINTL * pptl

Definition at line 3741 of file winddi.h.

◆ pptlBrush

◆ pptlBrushOrg

◆ pptlDitherOrg

◆ pptlHTOrg

◆ pptlMask

◆ pptlOrg

◆ pptlSrc

Definition at line 3438 of file winddi.h.

◆ PPTRDIFF

typedef PTRDIFF* PPTRDIFF

Definition at line 125 of file winddi.h.

◆ prcl

typedef _In_opt_ RECTL * prcl

Definition at line 3531 of file winddi.h.

◆ prclBounds

◆ prclDest

◆ prclDst

Definition at line 4193 of file winddi.h.

◆ prclExtents

◆ prclExtra

Definition at line 4178 of file winddi.h.

◆ prclOpaque

◆ prclSrc

Definition at line 3418 of file winddi.h.

◆ prclTrg

◆ PRECTFX

typedef struct _RECTFX * PRECTFX

◆ PRUN

typedef struct _RUN * PRUN

◆ pso

Definition at line 3665 of file winddi.h.

◆ psoColor

Definition at line 4050 of file winddi.h.

◆ psoMask

Definition at line 3434 of file winddi.h.

◆ psoMsk

Definition at line 3776 of file winddi.h.

◆ psoPattern

Definition at line 3960 of file winddi.h.

◆ psoSrc

typedef _In_ SURFOBJ * psoSrc

Definition at line 3414 of file winddi.h.

◆ psoTarget

Definition at line 3959 of file winddi.h.

◆ pstro

typedef _In_ STROBJ* pstro

Definition at line 4175 of file winddi.h.

◆ pSurface

Definition at line 3481 of file winddi.h.

◆ pSurfaceCallBacks

◆ PTRDIFF

typedef LONG PTRDIFF

Definition at line 124 of file winddi.h.

◆ puiFenceID

Definition at line 4375 of file winddi.h.

◆ pv2

typedef const void* pv2

Definition at line 2453 of file winddi.h.

◆ pvData

Definition at line 3749 of file winddi.h.

◆ pVertex

Definition at line 3651 of file winddi.h.

◆ pvmList

Definition at line 4228 of file winddi.h.

◆ pwchType

typedef _In_ LPWSTR pwchType

Definition at line 4237 of file winddi.h.

◆ PWCRUN

typedef struct _WCRUN * PWCRUN

◆ PWNDOBJ

typedef struct _WNDOBJ * PWNDOBJ

◆ pwo

typedef _In_ WNDOBJ* pwo

Definition at line 4147 of file winddi.h.

◆ pwszDeviceName

◆ pwszDocName

Definition at line 4071 of file winddi.h.

◆ pwszLogAddress

Definition at line 3548 of file winddi.h.

◆ PXFORML

typedef struct _XFORML * PXFORML

◆ pxlo

Definition at line 3416 of file winddi.h.

◆ pxo

Definition at line 3811 of file winddi.h.

◆ RECTFX

◆ Reserved

◆ rgb

typedef _In_ ULONG _In_ ULONG rgb

Definition at line 3521 of file winddi.h.

◆ right

typedef _In_ INT _In_ INT right

Definition at line 4283 of file winddi.h.

◆ ROP4

typedef ULONG ROP4

Definition at line 128 of file winddi.h.

◆ rop4

◆ RUN

typedef struct _RUN RUN

◆ sizl

Definition at line 3467 of file winddi.h.

◆ STROBJ

◆ SubresourceIndex

Definition at line 4351 of file winddi.h.

◆ SURFOBJ

◆ top

typedef _In_ INT top

Definition at line 4282 of file winddi.h.

◆ TYPE1_FONT

◆ ulFastCheckSum

◆ ulFont

typedef _In_ ULONG ulFont

Definition at line 3941 of file winddi.h.

◆ ulLangID

Definition at line 3724 of file winddi.h.

◆ ulMode

typedef _In_ ULONG ulMode

Definition at line 3657 of file winddi.h.

◆ ulReserved

◆ ulTag

Definition at line 3942 of file winddi.h.

◆ WCRUN

typedef struct _WCRUN WCRUN

◆ WNDOBJ

◆ x

◆ x1

Definition at line 3708 of file winddi.h.

◆ x2

Definition at line 3710 of file winddi.h.

◆ XFORML

◆ XFORMOBJ

◆ xHot

Definition at line 4052 of file winddi.h.

◆ XLATEOBJ

◆ y

Definition at line 3733 of file winddi.h.

◆ y1

Definition at line 3709 of file winddi.h.

◆ y2

Definition at line 3711 of file winddi.h.

◆ yHot

Definition at line 4053 of file winddi.h.

Enumeration Type Documentation

◆ _ENG_DEVICE_ATTRIBUTE

Enumerator
QDA_RESERVED 
QDA_ACCELERATION_LEVEL 

Definition at line 2229 of file winddi.h.

2229 {
2230 QDA_RESERVED = 0,
@ QDA_ACCELERATION_LEVEL
Definition: winddi.h:2231
@ QDA_RESERVED
Definition: winddi.h:2230
enum _ENG_DEVICE_ATTRIBUTE ENG_DEVICE_ATTRIBUTE

◆ _ENG_SYSTEM_ATTRIBUTE

Enumerator
EngProcessorFeature 
EngNumberOfProcessors 
EngOptimumAvailableUserMemory 
EngOptimumAvailableSystemMemory 

Definition at line 2285 of file winddi.h.

2285 {
@ EngNumberOfProcessors
Definition: winddi.h:2287
@ EngProcessorFeature
Definition: winddi.h:2286
@ EngOptimumAvailableUserMemory
Definition: winddi.h:2288
@ EngOptimumAvailableSystemMemory
Definition: winddi.h:2289
enum _ENG_SYSTEM_ATTRIBUTE ENG_SYSTEM_ATTRIBUTE

Function Documentation

◆ __drv_allocatesMem()

__drv_allocatesMem ( Mem  )

Definition at line 55 of file gui.c.

58{
59 return NULL;
60}

◆ __drv_preferredFunction() [1/3]

__drv_preferredFunction ( "(see documentation)"  ,
Obsolete,
always returns false. "   
)

◆ __drv_preferredFunction() [2/3]

__drv_preferredFunction ( "EngMapFontFileFD"  ,
"Obsolete"   
)

Definition at line 571 of file mapping.c.

580{
581 // www.osr.com/ddk/graphics/gdifncs_3up3.htm
582 return EngMapFontFileFD(iFile, ppjBuf, pcjBuf);
583}
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONG * ppjBuf
Definition: winddi.h:2109
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONG _Out_ ULONG * pcjBuf
Definition: winddi.h:2110
_In_ ULONG_PTR iFile
Definition: winddi.h:3835

◆ __drv_preferredFunction() [3/3]

__drv_preferredFunction ( "EngUnmapFontFileFD"  ,
"Obsolete"   
)

◆ _Acquires_lock_()

_Requires_lock_not_held_ hsem _Acquires_exclusive_lock_ hsem _Acquires_lock_ ( _Global_critical_region_  )

Definition at line 59 of file Object.c.

64{
66
67 /* Try acquiring the lock */
69 {
70 /* Someone changed it, use the slow path */
72 }
73
74 /* Sanity check */
75 FLT_ASSERT(PushLock->Locked);
76}
#define EX_PUSH_LOCK_LOCK_V
Definition: Object.c:28
#define FLT_ASSERT(_e)
Definition: fltkernel.h:49
#define InterlockedBitTestAndSet
Definition: interlocked.h:30
#define KeEnterCriticalRegion()
Definition: ke_x.h:88
VOID FASTCALL ExfAcquirePushLockExclusive(PEX_PUSH_LOCK PushLock)
Definition: pushlock.c:471
int32_t * PLONG
Definition: typedefs.h:58

◆ _At_()

_At_ ( return  ,
_Out_writes_bytes_(cjSize  
)

◆ _In_count_c_()

typedef _In_count_c_ ( )

◆ _In_reads_bytes_opt_()

_In_ DWORD _In_reads_bytes_opt_ ( cjInBufferSize  )

◆ _Kernel_requires_resource_held_()

_Check_return_ _Kernel_requires_resource_held_ ( EngFloatState  )

◆ _Out_bytecap_()

typedef _Out_bytecap_ ( cjBuf  )

◆ _Out_cap_()

typedef _Out_cap_ ( culCaps  )

◆ _Out_writes_bytes_opt_()

_In_ DWORD _In_ DWORD _Out_writes_bytes_opt_ ( cjOutBufferSize  )

◆ _Releases_lock_()

_Requires_lock_held_ hsem _Releases_lock_ hsem _Releases_lock_ ( _Global_critical_region_  )

Definition at line 101 of file Object.c.

106{
107 EX_PUSH_LOCK OldValue = *PushLock;
108 EX_PUSH_LOCK NewValue;
109
110 /* Sanity checks */
111 FLT_ASSERT(OldValue.Locked);
112
113 /* Check if the pushlock is shared */
114 if (OldValue.Shared > 1)
115 {
116 /* Decrease the share count */
117 NewValue.Value = OldValue.Value - EX_PUSH_LOCK_SHARE_INC;
118 }
119 else
120 {
121 /* Clear the pushlock entirely */
122 NewValue.Value = 0;
123 }
124
125 /* Check if nobody is waiting on us and try clearing the lock here */
126 if ((OldValue.Waiting) ||
127 (ExpChangePushlock(PushLock, NewValue.Ptr, OldValue.Ptr) !=
128 OldValue.Ptr))
129 {
130 /* We have waiters, use the long path */
131 ExfReleasePushLock(PushLock);
132 }
133
135}
#define EX_PUSH_LOCK_SHARE_INC
Definition: Object.c:33
#define ExpChangePushlock(x, y, z)
Definition: Object.c:23
#define KeLeaveCriticalRegion()
Definition: ke_x.h:119
VOID FASTCALL ExfReleasePushLock(PEX_PUSH_LOCK PushLock)
Definition: pushlock.c:810
ULONG_PTR Value
Definition: extypes.h:465
PVOID Ptr
Definition: extypes.h:466
ULONG_PTR Waiting
Definition: extypes.h:460
ULONG_PTR Shared
Definition: extypes.h:463
ULONG_PTR Locked
Definition: extypes.h:459

◆ _Ret_opt_bytecap_() [1/2]

_Must_inspect_result_ _Ret_opt_bytecap_ ( cjMemSize  )

◆ _Ret_opt_bytecap_() [2/2]

_Must_inspect_result_ _Ret_opt_bytecap_ ( cjSize  )

◆ _Ret_opt_bytecount_() [1/2]

_Ret_opt_bytecount_ ( cj  )

◆ _Ret_opt_bytecount_() [2/2]

_Must_inspect_result_ _Ret_opt_bytecount_ ( cjMemSize  )

◆ _Return_type_success_()

typedef _Return_type_success_ ( return >=  0)

◆ _Success_() [1/4]

_Check_return_ _Success_ ( ((pBuffer !=NULL &&cjBufferSize !=0) &&return==1)||((pBuffer==NULL||cjBufferSize==0) &&return > 0)  )

◆ _Success_() [2/4]

_Success_ ( return = 0)

Definition at line 1028 of file fsctrl.c.

3189{
3191
3192 PVPB Vpb = Vcb->Vpb;
3193 PVPB OldVpb;
3194
3195 BOOLEAN Remount = FALSE;
3196
3197 PAGED_CODE();
3198
3199 UNREFERENCED_PARAMETER( IrpContext );
3200
3201 //
3202 // Check whether we are looking for a device only Mvcb.
3203 //
3204
3205 for (Link = CdData.VcbQueue.Flink;
3206 Link != &CdData.VcbQueue;
3207 Link = Link->Flink) {
3208
3209 *OldVcb = CONTAINING_RECORD( Link, VCB, VcbLinks );
3210
3211 //
3212 // Skip ourselves.
3213 //
3214
3215 if (Vcb == *OldVcb) { continue; }
3216
3217 //
3218 // Look at the Vpb and state of the previous Vcb.
3219 //
3220
3221 OldVpb = (*OldVcb)->Vpb;
3222
3223 if ((OldVpb != Vpb) &&
3224 (OldVpb->RealDevice == Vpb->RealDevice) &&
3225 ((*OldVcb)->VcbCondition == VcbNotMounted)) {
3226
3227 //
3228 // If the current disk is a raw disk then it can match a previous music or
3229 // raw disk.
3230 //
3231
3232 if (FlagOn( Vcb->VcbState, VCB_STATE_AUDIO_DISK)) {
3233
3234 if (FlagOn( (*OldVcb)->VcbState, VCB_STATE_AUDIO_DISK )) {
3235
3236 //
3237 // If we have both TOC then fail the remount if the lengths
3238 // are different or they don't match.
3239 //
3240
3241 if ((Vcb->TocLength != (*OldVcb)->TocLength) ||
3242 ((Vcb->TocLength != 0) &&
3243 !RtlEqualMemory( Vcb->CdromToc,
3244 (*OldVcb)->CdromToc,
3245 Vcb->TocLength ))) {
3246
3247 continue;
3248 }
3249
3250 Remount = TRUE;
3251 break;
3252 }
3253
3254 //
3255 // The current disk is not a raw disk. Go ahead and compare
3256 // serial numbers, volume label and TOC.
3257 //
3258
3259 }
3260 else if ((OldVpb->SerialNumber == Vpb->SerialNumber) &&
3261 (Vcb->TocLength == (*OldVcb)->TocLength) &&
3262 ((Vcb->TocLength == 0) || RtlEqualMemory( Vcb->CdromToc,
3263 (*OldVcb)->CdromToc,
3264 Vcb->TocLength )) &&
3265 (Vpb->VolumeLabelLength == OldVpb->VolumeLabelLength) &&
3266 (RtlEqualMemory( OldVpb->VolumeLabel,
3267 Vpb->VolumeLabel,
3268 Vpb->VolumeLabelLength ))) {
3269 //
3270 // Remember the old Vcb. Then set the return value to
3271 // TRUE and break.
3272 //
3273
3274 Remount = TRUE;
3275 break;
3276 }
3277 }
3278 }
3279
3280 return Remount;
3281}
#define PAGED_CODE()
unsigned char BOOLEAN
CD_DATA CdData
Definition: cddata.c:42
#define VCB_STATE_AUDIO_DISK
Definition: cdstruc.h:712
@ VcbNotMounted
Definition: cdstruc.h:490
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define FlagOn(_F, _SF)
Definition: ext2fs.h:179
IN OUT PVCB IN PDEVICE_OBJECT IN PVPB Vpb
Definition: fatprocs.h:1676
#define RtlEqualMemory(dst, src, len)
Definition: kdvm.h:18
#define UNREFERENCED_PARAMETER(P)
Definition: ntbasedef.h:325
#define Vcb
Definition: cdprocs.h:1415
LIST_ENTRY VcbQueue
Definition: cdstruc.h:334
Definition: typedefs.h:120
struct _LIST_ENTRY * Flink
Definition: typedefs.h:121
Definition: cdstruc.h:498
Definition: iotypes.h:189
WCHAR VolumeLabel[MAXIMUM_VOLUME_LABEL_LENGTH/sizeof(WCHAR)]
Definition: iotypes.h:198
USHORT VolumeLabelLength
Definition: iotypes.h:193
ULONG SerialNumber
Definition: iotypes.h:196
struct _DEVICE_OBJECT * RealDevice
Definition: iotypes.h:195
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
static int Link(const char **args)
Definition: vfdcmd.c:2414

◆ _Success_() [3/4]

_Check_return_ _Success_ ( return!  = FALSE)

◆ _Success_() [4/4]

_Success_ ( return  = =0)

◆ _When_()

_Must_inspect_result_ _When_ ( fl FL_ZERO_MEMORY,
_Ret_opt_bytecount_(cjMemSize  
) &

◆ BOOL() [1/2]

typedef BOOL ( APIENTRY CALLBACK FREEOBJPROC)

◆ BOOL() [2/2]

typedef BOOL ( APIENTRY  FN_DrvAlphaBlend)

◆ BRUSHOBJ_hGetColorTransform()

ENGAPI HANDLE APIENTRY BRUSHOBJ_hGetColorTransform ( _In_ BRUSHOBJ pbo)

◆ BRUSHOBJ_pvGetRbrush()

ENGAPI PVOID APIENTRY BRUSHOBJ_pvGetRbrush ( _In_ BRUSHOBJ pbo)

◆ BRUSHOBJ_ulGetBrushColor()

ENGAPI ULONG APIENTRY BRUSHOBJ_ulGetBrushColor ( _In_ BRUSHOBJ pbo)

◆ CLIPOBJ_bEnum()

ENGAPI BOOL APIENTRY CLIPOBJ_bEnum ( _In_ CLIPOBJ pco,
_In_ ULONG  cj,
_Out_bytecap_(cj) ULONG pul 
)

Definition at line 319 of file clip.c.

323{
324 const RECTL* src;
325 XCLIPOBJ* Clip = (XCLIPOBJ *)pco;
326 ULONG nCopy;
327 ENUMRECTS* pERects = (ENUMRECTS*)pulEnumRects;
328
329 // Calculate how many rectangles we should copy
330 nCopy = min( Clip->EnumMax - Clip->EnumPos,
331 min( Clip->RectCount - Clip->EnumPos,
332 (cj - sizeof(ULONG)) / sizeof(RECTL)));
333
334 if(nCopy == 0)
335 {
336 return FALSE;
337 }
338
339 /* Copy rectangles */
340 src = &Clip->Rects[Clip->EnumPos];
341 RtlCopyMemory(pERects->arcl, src, nCopy * sizeof(RECTL));
342
343 pERects->c = nCopy;
344
345 Clip->EnumPos+=nCopy;
346
347 return Clip->EnumPos < Clip->RectCount;
348}
GLenum src
Definition: glext.h:6340
#define min(a, b)
Definition: monoChain.cc:55
RECTL arcl[1]
Definition: winddi.h:577
ULONG c
Definition: winddi.h:576
ULONG EnumMax
Definition: engobjects.h:70
RECTL * Rects
Definition: engobjects.h:65
DWORD RectCount
Definition: engobjects.h:78
ULONG EnumPos
Definition: engobjects.h:68
#define RtlCopyMemory(Destination, Source, Length)
Definition: typedefs.h:263
_In_ ULONG cj
Definition: winddi.h:3540
_In_ SURFOBJ _In_ CLIPOBJ * pco
Definition: winddi.h:3415

Referenced by DrvBitBlt(), DrvLineTo(), EngAlphaBlend(), EngBitBlt(), EngCopyBits(), EngLineTo(), EngMaskBitBlt(), EngStretchBltROP(), EngTransparentBlt(), IntEngGradientFillRect(), IntEngGradientFillTriangle(), NEtoSW(), NWtoSE(), SEtoNW(), SWtoNE(), VGADDIPaintRgn(), vgaNEtoSW(), vgaNWtoSE(), vgaSEtoNW(), vgaSWtoNE(), and WNDOBJ_bEnum().

◆ CLIPOBJ_cEnumStart()

ENGAPI ULONG APIENTRY CLIPOBJ_cEnumStart ( _Inout_ CLIPOBJ pco,
_In_ BOOL  bAll,
_In_ ULONG  iType,
_In_ ULONG  iDirection,
_In_ ULONG  cLimit 
)

Definition at line 255 of file clip.c.

261{
262 XCLIPOBJ* Clip = (XCLIPOBJ *)pco;
263 SORTCOMP CompareFunc;
264
265 Clip->bAll = bAll;
266 Clip->iType = iType;
267 Clip->EnumPos = 0;
268 Clip->EnumMax = (cMaxRects > 0) ? cMaxRects : Clip->RectCount;
269
270 if (CD_ANY != iDirection && Clip->iDirection != iDirection)
271 {
272 switch (iDirection)
273 {
274 case CD_RIGHTDOWN:
275 CompareFunc = (SORTCOMP) CompareRightDown;
276 break;
277
278 case CD_RIGHTUP:
279 CompareFunc = (SORTCOMP) CompareRightUp;
280 break;
281
282 case CD_LEFTDOWN:
283 CompareFunc = (SORTCOMP) CompareLeftDown;
284 break;
285
286 case CD_LEFTUP:
287 CompareFunc = (SORTCOMP) CompareLeftUp;
288 break;
289
290 default:
291 ERR("Invalid iDirection %lu\n", iDirection);
292 iDirection = Clip->iDirection;
294 break;
295 }
296
297 if (NULL != CompareFunc)
298 {
299 EngSort((PBYTE) Clip->Rects, sizeof(RECTL), Clip->RectCount, CompareFunc);
300 }
301
302 Clip->iDirection = iDirection;
303 }
304
305 /* Return the number of rectangles enumerated */
306 if ((cMaxRects > 0) && (Clip->RectCount > cMaxRects))
307 {
308 return 0xFFFFFFFF;
309 }
310
311 return Clip->RectCount;
312}
static INT CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
Definition: mainwnd.c:243
#define ERR(fmt,...)
Definition: precomp.h:57
if(dx< 0)
Definition: linetemp.h:194
BYTE * PBYTE
Definition: pedump.c:66
ULONG iDirection
Definition: engobjects.h:71
ULONG iType
Definition: engobjects.h:72
BOOL bAll
Definition: engobjects.h:76
static __inline int CompareRightUp(const RECTL *r1, const RECTL *r2)
Definition: clip.c:50
static __inline int CompareRightDown(const RECTL *r1, const RECTL *r2)
Definition: clip.c:14
static __inline int CompareLeftDown(const RECTL *r1, const RECTL *r2)
Definition: clip.c:86
static __inline int CompareLeftUp(const RECTL *r1, const RECTL *r2)
Definition: clip.c:122
#define CD_RIGHTUP
Definition: winddi.h:1323
#define CD_LEFTDOWN
Definition: winddi.h:1321
#define CD_RIGHTDOWN
Definition: winddi.h:1320
#define CD_ANY
Definition: winddi.h:1326
_In_ ULONG iType
Definition: winddi.h:3748
ENGAPI VOID APIENTRY EngSort(_Inout_updates_bytes_(c *cjElem) PBYTE pjBuf, _In_ ULONG c, _In_ ULONG cjElem, _In_ SORTCOMP pfnComp)
#define CD_LEFTUP
Definition: winddi.h:1325

Referenced by DrvBitBlt(), DrvLineTo(), EngAlphaBlend(), EngBitBlt(), EngCopyBits(), EngLineTo(), EngMaskBitBlt(), EngStretchBltROP(), EngTransparentBlt(), IntEngGradientFillRect(), IntEngGradientFillTriangle(), NEtoSW(), NWtoSE(), SEtoNW(), SWtoNE(), VGADDIPaintRgn(), vgaNEtoSW(), vgaNWtoSE(), vgaSEtoNW(), vgaSWtoNE(), and WNDOBJ_cEnumStart().

◆ CLIPOBJ_GetRgn()

ENGAPI HANDLE APIENTRY CLIPOBJ_GetRgn ( _In_ CLIPOBJ pco)

◆ CLIPOBJ_ppoGetPath()

ENGAPI PATHOBJ *APIENTRY CLIPOBJ_ppoGetPath ( _In_ CLIPOBJ pco)

◆ DECLARE_HANDLE() [1/8]

DECLARE_HANDLE ( DHPDEV  )

◆ DECLARE_HANDLE() [2/8]

DECLARE_HANDLE ( DHSURF  )

◆ DECLARE_HANDLE() [3/8]

DECLARE_HANDLE ( HBM  )

◆ DECLARE_HANDLE() [4/8]

DECLARE_HANDLE ( HDEV  )

◆ DECLARE_HANDLE() [5/8]

DECLARE_HANDLE ( HDRVOBJ  )

◆ DECLARE_HANDLE() [6/8]

DECLARE_HANDLE ( HFASTMUTEX  )

◆ DECLARE_HANDLE() [7/8]

DECLARE_HANDLE ( HSEMAPHORE  )

◆ DECLARE_HANDLE() [8/8]

DECLARE_HANDLE ( HSURF  )

◆ DHPDEV()

typedef DHPDEV ( APIENTRY  FN_DrvEnablePDEV)

◆ EngAcquireFastMutex()

ENGAPI VOID APIENTRY EngAcquireFastMutex ( _In_ HFASTMUTEX  hfm)

◆ EngAcquireSemaphore()

◆ EngAcquireSemaphoreNoWait()

ENGAPI BOOL APIENTRY EngAcquireSemaphoreNoWait ( _In_ HSEMAPHORE  hsem)

◆ EngAlphaBlend()

ENGAPI BOOL APIENTRY EngAlphaBlend ( _Inout_ SURFOBJ psoDest,
_In_ SURFOBJ psoSrc,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ RECTL prclDest,
_In_ RECTL prclSrc,
_In_ BLENDOBJ pBlendObj 
)

Definition at line 20 of file alphablend.c.

28{
29 RECTL InputRect;
30 RECTL OutputRect;
31 RECTL ClipRect;
32 RECTL CombinedRect;
33 RECTL Rect;
34 POINTL Translate;
35 INTENG_ENTER_LEAVE EnterLeaveSource;
36 INTENG_ENTER_LEAVE EnterLeaveDest;
37 SURFOBJ* InputObj;
38 SURFOBJ* OutputObj;
39 LONG ClippingType;
40 RECT_ENUM RectEnum;
41 BOOL EnumMore;
42 ULONG i;
43 BOOLEAN Ret;
44
45 DPRINT("EngAlphaBlend(psoDest:0x%p, psoSource:0x%p, ClipRegion:0x%p, ColorTranslation:0x%p,\n", psoDest, psoSource, ClipRegion, ColorTranslation);
46 DPRINT(" DestRect:{0x%x, 0x%x, 0x%x, 0x%x}, SourceRect:{0x%x, 0x%x, 0x%x, 0x%x},\n",
47 DestRect->left, DestRect->top, DestRect->right, DestRect->bottom,
48 SourceRect->left, SourceRect->top, SourceRect->right, SourceRect->bottom);
49 DPRINT(" BlendObj:{0x%x, 0x%x, 0x%x, 0x%x}\n", BlendObj->BlendFunction.BlendOp,
50 BlendObj->BlendFunction.BlendFlags, BlendObj->BlendFunction.SourceConstantAlpha,
51 BlendObj->BlendFunction.AlphaFormat);
52
53 /* Validate output */
54 OutputRect = *DestRect;
55 RECTL_vMakeWellOrdered(&OutputRect);
56
57 /* Validate input */
58 InputRect = *SourceRect;
59 RECTL_vMakeWellOrdered(&InputRect);
60 if ( (InputRect.top < 0) || (InputRect.bottom < 0) ||
61 (InputRect.left < 0) || (InputRect.right < 0) ||
62 InputRect.right > psoSource->sizlBitmap.cx ||
63 InputRect.bottom > psoSource->sizlBitmap.cy )
64 {
66 return FALSE;
67 }
68
69 if (psoDest == psoSource &&
70 !(OutputRect.left >= SourceRect->right || InputRect.left >= OutputRect.right ||
71 OutputRect.top >= SourceRect->bottom || InputRect.top >= OutputRect.bottom))
72 {
73 DPRINT1("Source and destination rectangles overlap!\n");
74 return FALSE;
75 }
76
77 if (BlendObj->BlendFunction.BlendOp != AC_SRC_OVER)
78 {
79 DPRINT1("BlendOp != AC_SRC_OVER (0x%x)\n", BlendObj->BlendFunction.BlendOp);
80 return FALSE;
81 }
82 if (BlendObj->BlendFunction.BlendFlags != 0)
83 {
84 DPRINT1("BlendFlags != 0 (0x%x)\n", BlendObj->BlendFunction.BlendFlags);
85 return FALSE;
86 }
87 if ((BlendObj->BlendFunction.AlphaFormat & ~AC_SRC_ALPHA) != 0)
88 {
89 DPRINT1("Unsupported AlphaFormat (0x%x)\n", BlendObj->BlendFunction.AlphaFormat);
90 return FALSE;
91 }
92
93 /* Check if there is anything to draw */
94 if (ClipRegion != NULL &&
95 (ClipRegion->rclBounds.left >= ClipRegion->rclBounds.right ||
96 ClipRegion->rclBounds.top >= ClipRegion->rclBounds.bottom))
97 {
98 /* Nothing to do */
99 return TRUE;
100 }
101
102 /* Now call the DIB function */
103 if (!IntEngEnter(&EnterLeaveSource, psoSource, &InputRect, TRUE, &Translate, &InputObj))
104 {
105 return FALSE;
106 }
107 InputRect.left += Translate.x;
108 InputRect.right += Translate.x;
109 InputRect.top += Translate.y;
110 InputRect.bottom += Translate.y;
111
112 if (!IntEngEnter(&EnterLeaveDest, psoDest, &OutputRect, FALSE, &Translate, &OutputObj))
113 {
114 IntEngLeave(&EnterLeaveSource);
115 return FALSE;
116 }
117 OutputRect.left += Translate.x;
118 OutputRect.right += Translate.x;
119 OutputRect.top += Translate.y;
120 OutputRect.bottom += Translate.y;
121
122 ASSERT(InputRect.left <= InputRect.right && InputRect.top <= InputRect.bottom);
123
124 Ret = FALSE;
125 ClippingType = (ClipRegion == NULL) ? DC_TRIVIAL : ClipRegion->iDComplexity;
126 switch (ClippingType)
127 {
128 case DC_TRIVIAL:
130 OutputObj, InputObj, &OutputRect, &InputRect, ClipRegion, ColorTranslation, BlendObj);
131 break;
132
133 case DC_RECT:
134 Ret = TRUE;
135 ClipRect.left = ClipRegion->rclBounds.left + Translate.x;
136 ClipRect.right = ClipRegion->rclBounds.right + Translate.x;
137 ClipRect.top = ClipRegion->rclBounds.top + Translate.y;
138 ClipRect.bottom = ClipRegion->rclBounds.bottom + Translate.y;
139 if (RECTL_bIntersectRect(&CombinedRect, &OutputRect, &ClipRect))
140 {
141 /* take into acount clipping results when calculating new input rect (scaled to input rect size) */
142 Rect.left = InputRect.left + (CombinedRect.left - OutputRect.left) * (InputRect.right - InputRect.left) / (OutputRect.right - OutputRect.left);
143 Rect.right = InputRect.right + (CombinedRect.right - OutputRect.right) * (InputRect.right - InputRect.left) / (OutputRect.right - OutputRect.left);
144 Rect.top = InputRect.top + (CombinedRect.top - OutputRect.top) * (InputRect.bottom - InputRect.top) / (OutputRect.bottom - OutputRect.top);
145 Rect.bottom = InputRect.bottom + (CombinedRect.bottom - OutputRect.bottom) * (InputRect.bottom - InputRect.top) / (OutputRect.bottom - OutputRect.top);
146
147 /* Aplha blend one rect */
149 OutputObj, InputObj, &CombinedRect, &Rect, ClipRegion, ColorTranslation, BlendObj);
150 }
151 break;
152
153 case DC_COMPLEX:
154 Ret = TRUE;
156 do
157 {
158 EnumMore = CLIPOBJ_bEnum(ClipRegion,(ULONG) sizeof(RectEnum),
159 (PVOID) &RectEnum);
160
161 for (i = 0; i < RectEnum.c; i++)
162 {
163 ClipRect.left = RectEnum.arcl[i].left + Translate.x;
164 ClipRect.right = RectEnum.arcl[i].right + Translate.x;
165 ClipRect.top = RectEnum.arcl[i].top + Translate.y;
166 ClipRect.bottom = RectEnum.arcl[i].bottom + Translate.y;
167 if (RECTL_bIntersectRect(&CombinedRect, &OutputRect, &ClipRect))
168 {
169 /* take into acount clipping results when calculating new input rect (scaled to input rect size) */
170 Rect.left = InputRect.left + (CombinedRect.left - OutputRect.left) * (InputRect.right - InputRect.left) / (OutputRect.right - OutputRect.left);
171 Rect.right = InputRect.right + (CombinedRect.right - OutputRect.right) * (InputRect.right - InputRect.left) / (OutputRect.right - OutputRect.left);
172 Rect.top = InputRect.top + (CombinedRect.top - OutputRect.top) * (InputRect.bottom - InputRect.top) / (OutputRect.bottom - OutputRect.top);
173 Rect.bottom = InputRect.bottom + (CombinedRect.bottom - OutputRect.bottom) * (InputRect.bottom - InputRect.top) / (OutputRect.bottom - OutputRect.top);
174
175 /* Alpha blend one rect */
177 OutputObj, InputObj, &CombinedRect, &Rect, ClipRegion, ColorTranslation, BlendObj) && Ret;
178 }
179 }
180 }
181 while (EnumMore);
182 break;
183
184 default:
186 ASSERT(FALSE);
187 break;
188 }
189
190 IntEngLeave(&EnterLeaveDest);
191 IntEngLeave(&EnterLeaveSource);
192
193 return Ret;
194}
#define DPRINT1
Definition: precomp.h:8
#define UNIMPLEMENTED
Definition: ntoskrnl.c:15
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
switch(r->id)
Definition: btrfs.c:3046
BOOL APIENTRY IntEngEnter(PINTENG_ENTER_LEAVE EnterLeave, SURFOBJ *psoDest, RECTL *DestRect, BOOL ReadOnly, POINTL *Translate, SURFOBJ **ppsoOutput)
Definition: engmisc.c:15
BOOL APIENTRY IntEngLeave(PINTENG_ENTER_LEAVE EnterLeave)
Definition: engmisc.c:162
unsigned int BOOL
Definition: ntddk_ex.h:94
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define ASSERT(a)
Definition: mode.c:44
#define AC_SRC_ALPHA
Definition: alphablend.c:9
long LONG
Definition: pedump.c:60
#define DPRINT
Definition: sndvol32.h:73
PFN_DIB_AlphaBlend DIB_AlphaBlend
Definition: dib.h:54
long bottom
Definition: polytest.cpp:53
long right
Definition: polytest.cpp:53
long top
Definition: polytest.cpp:53
long left
Definition: polytest.cpp:53
LONG y
Definition: windef.h:330
LONG x
Definition: windef.h:329
ULONG c
Definition: vgaddi.h:78
RECTL arcl[ENUM_RECT_LIMIT]
Definition: vgaddi.h:79
ULONG iBitmapFormat
Definition: winddi.h:1215
DIB_FUNCTIONS DibFunctionsForBitmapFormat[]
Definition: dib.c:20
VOID FASTCALL RECTL_vMakeWellOrdered(_Inout_ RECTL *prcl)
Definition: rect.c:81
BOOL FASTCALL RECTL_bIntersectRect(_Out_ RECTL *prclDst, _In_ const RECTL *prcl1, _In_ const RECTL *prcl2)
Definition: rect.c:55
#define DC_TRIVIAL
Definition: winddi.h:259
#define CT_RECTANGLES
Definition: winddi.h:1317
ENGAPI BOOL APIENTRY CLIPOBJ_bEnum(_In_ CLIPOBJ *pco, _In_ ULONG cj, _Out_bytecap_(cj) ULONG *pul)
Definition: clip.c:319
#define DC_COMPLEX
Definition: winddi.h:261
ENGAPI ULONG APIENTRY CLIPOBJ_cEnumStart(_Inout_ CLIPOBJ *pco, _In_ BOOL bAll, _In_ ULONG iType, _In_ ULONG iDirection, _In_ ULONG cLimit)
Definition: clip.c:255
#define DC_RECT
Definition: winddi.h:260
ENGAPI VOID APIENTRY EngSetLastError(_In_ ULONG iError)
Definition: error.c:22
#define AC_SRC_OVER
Definition: wingdi.h:1369

Referenced by IntEngAlphaBlend(), NtGdiEngAlphaBlend(), and PanAlphaBlend().

◆ EngAssociateSurface()

ENGAPI BOOL APIENTRY EngAssociateSurface ( _In_ HSURF  hsurf,
_In_ HDEV  hdev,
_In_ FLONG  flHooks 
)

Definition at line 431 of file surface.c.

435{
436 SURFOBJ *pso;
437 PSURFACE psurf;
438 PDEVOBJ* ppdev;
439 PPALETTE ppal;
440
441 ppdev = (PDEVOBJ*)hdev;
442
443 /* Lock the surface */
444 psurf = SURFACE_ShareLockSurface(hsurf);
445 if (!psurf)
446 {
447 return FALSE;
448 }
449 pso = &psurf->SurfObj;
450
451 /* Associate the hdev */
452 pso->hdev = hdev;
453 pso->dhpdev = ppdev->dhpdev;
454
455 /* Hook up specified functions */
456 psurf->flags &= ~HOOK_FLAGS;
457 psurf->flags |= (flHooks & HOOK_FLAGS);
458
459 /* Assign the PDEV's palette */
461 SURFACE_vSetPalette(psurf, ppal);
463
465
466 return TRUE;
467}
HPALETTE hpalDefault
Definition: winddi.h:398
DHPDEV dhpdev
Definition: pdevobj.h:120
DEVINFO devinfo
Definition: pdevobj.h:122
SURFOBJ SurfObj
Definition: surface.h:8
FLONG flags
Definition: surface.h:10
HDEV hdev
Definition: winddi.h:1208
#define SURFACE_ShareUnlockSurface(pBMObj)
Definition: surface.h:102
FORCEINLINE VOID SURFACE_vSetPalette(_Inout_ PSURFACE psurf, _In_ PPALETTE ppal)
Definition: surface.h:136
#define SURFACE_ShareLockSurface(hBMObj)
Definition: surface.h:91
#define PALETTE_ShareLockPalette(hpal)
Definition: palette.h:57
#define PALETTE_ShareUnlockPalette(ppal)
Definition: palette.h:59
_In_ HANDLE _In_ SURFOBJ * pso
Definition: winddi.h:3665
_In_ HDEV hdev
Definition: winddi.h:3449
#define HOOK_FLAGS
Definition: winddi.h:1438

Referenced by DrvEnableSurface(), and PanEnableSurface().

◆ EngBitBlt()

ENGAPI BOOL APIENTRY EngBitBlt ( _Inout_ SURFOBJ psoTrg,
_In_opt_ SURFOBJ psoSrc,
_In_opt_ SURFOBJ psoMask,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ RECTL prclTrg,
_In_opt_ POINTL pptlSrc,
_In_opt_ POINTL pptlMask,
_In_opt_ BRUSHOBJ pbo,
_In_opt_ POINTL pptlBrush,
_In_ ROP4  rop4 
)

Definition at line 328 of file bitblt.c.

340{
341 BYTE clippingType;
342 RECTL CombinedRect;
343 RECT_ENUM RectEnum;
344 BOOL EnumMore;
345 POINTL InputPoint;
346 RECTL InputRect;
347 RECTL OutputRect;
348 SURFOBJ* InputObj = 0;
349 SURFOBJ* OutputObj;
350 PBLTRECTFUNC BltRectFunc;
351 BOOLEAN Ret = TRUE;
352 RECTL ClipRect;
353 ULONG i;
354 POINTL Pt;
356 BOOL UsesSource, UsesMask;
357 POINTL AdjustedBrushOrigin;
358 LONG lTmp;
359 BOOLEAN bTopToBottom, bLeftToRight;
360
361 UsesSource = ROP4_USES_SOURCE(rop4);
362 UsesMask = ROP4_USES_MASK(rop4);
363
364 if (prclTrg->left > prclTrg->right)
365 {
366 bLeftToRight = TRUE;
367 }
368 else
369 {
370 bLeftToRight = FALSE;
371 }
372
373 if (prclTrg->top > prclTrg->bottom)
374 {
375 bTopToBottom = TRUE;
376 }
377 else
378 {
379 bTopToBottom = FALSE;
380 }
381
382 if (rop4 == ROP4_NOOP)
383 {
384 /* Copy destination onto itself: nop */
385 return TRUE;
386 }
387
388 //DPRINT1("rop4 : 0x%08x\n", rop4);
389
390 OutputRect = *prclTrg;
391 RECTL_vMakeWellOrdered(&OutputRect);
392
393 DPRINT("EngBitBlt: prclTrg: (%d,%d)-(%d,%d)\n",
394 prclTrg->left, prclTrg->top, prclTrg->right, prclTrg->bottom);
395
396 DPRINT("EngBitBlt: OutputRect: (%d,%d)-(%d,%d)\n",
397 OutputRect.left, OutputRect.top, OutputRect.right, OutputRect.bottom);
398
399 if (UsesSource)
400 {
401 if (!psoSrc || !pptlSrc)
402 {
403 return FALSE;
404 }
405
406 /* Make sure we don't try to copy anything outside the valid source
407 region */
408 InputPoint = *pptlSrc;
409 if (InputPoint.x < 0)
410 {
411 OutputRect.left -= InputPoint.x;
412 InputPoint.x = 0;
413 }
414 if (InputPoint.y < 0)
415 {
416 OutputRect.top -= InputPoint.y;
417 InputPoint.y = 0;
418 }
419 if (psoSrc->sizlBitmap.cx < InputPoint.x +
420 OutputRect.right - OutputRect.left)
421 {
422 OutputRect.right = OutputRect.left +
423 psoSrc->sizlBitmap.cx - InputPoint.x;
424 }
425 if (psoSrc->sizlBitmap.cy < InputPoint.y +
426 OutputRect.bottom - OutputRect.top)
427 {
428 OutputRect.bottom = OutputRect.top +
429 psoSrc->sizlBitmap.cy - InputPoint.y;
430 }
431
432 InputRect.left = InputPoint.x;
433 InputRect.right = InputPoint.x + (OutputRect.right - OutputRect.left);
434 InputRect.top = InputPoint.y;
435 InputRect.bottom = InputPoint.y + (OutputRect.bottom - OutputRect.top);
436
437 InputObj = psoSrc;
438 }
439 else
440 {
441 InputPoint.x = InputPoint.y = 0;
442 InputRect.left = 0;
443 InputRect.right = prclTrg->right - prclTrg->left;
444 InputRect.top = 0;
445 InputRect.bottom = prclTrg->bottom - prclTrg->top;
446 }
447
448 if (NULL != pco)
449 {
450 if (OutputRect.left < pco->rclBounds.left)
451 {
452 InputRect.left += pco->rclBounds.left - OutputRect.left;
453 InputPoint.x += pco->rclBounds.left - OutputRect.left;
454 OutputRect.left = pco->rclBounds.left;
455 }
456 if (pco->rclBounds.right < OutputRect.right)
457 {
458 InputRect.right -= OutputRect.right - pco->rclBounds.right;
459 OutputRect.right = pco->rclBounds.right;
460 }
461 if (OutputRect.top < pco->rclBounds.top)
462 {
463 InputRect.top += pco->rclBounds.top - OutputRect.top;
464 InputPoint.y += pco->rclBounds.top - OutputRect.top;
465 OutputRect.top = pco->rclBounds.top;
466 }
467 if (pco->rclBounds.bottom < OutputRect.bottom)
468 {
469 InputRect.bottom -= OutputRect.bottom - pco->rclBounds.bottom;
470 OutputRect.bottom = pco->rclBounds.bottom;
471 }
472 }
473
474 /* Check for degenerate case: if height or width of OutputRect is 0 pixels
475 there's nothing to do */
476 if (OutputRect.right <= OutputRect.left ||
477 OutputRect.bottom <= OutputRect.top)
478 {
479 return TRUE;
480 }
481
482 OutputObj = psoTrg;
483
484 if (pptlBrush)
485 {
486 AdjustedBrushOrigin.x = pptlBrush->x;
487 AdjustedBrushOrigin.y = pptlBrush->y;
488 }
489 else
490 {
491 AdjustedBrushOrigin.x = 0;
492 AdjustedBrushOrigin.y = 0;
493 }
494
495 /* Determine clipping type */
496 if (pco == (CLIPOBJ *) NULL)
497 {
498 clippingType = DC_TRIVIAL;
499 }
500 else
501 {
502 clippingType = pco->iDComplexity;
503 }
504
505 /* Check if we need a mask but have no mask surface */
506 if (UsesMask && (psoMask == NULL))
507 {
508 /* Check if the BRUSHOBJ can provide the mask */
510 if (psoMask == NULL)
511 {
512 /* We have no mask, assume the mask is all foreground */
513 rop4 = (rop4 & 0xFF) | ((rop4 & 0xFF) << 8);
514 UsesMask = FALSE;
515 }
516 }
517
518 if (UsesMask)
519 {
520 BltRectFunc = BltMask;
521 }
522 else if ((rop4 & 0xFF) == R3_OPINDEX_PATCOPY)
523 {
524 if (pbo && pbo->iSolidColor == 0xFFFFFFFF)
525 BltRectFunc = CallDibBitBlt;
526 else
527 BltRectFunc = BltPatCopy;
528 }
529 else
530 {
531 BltRectFunc = CallDibBitBlt;
532 }
533
534
535 switch (clippingType)
536 {
537 case DC_TRIVIAL:
538 /* Fix up OutputRect here */
539 if (bLeftToRight)
540 {
541 lTmp = OutputRect.left;
542 OutputRect.left = OutputRect.right;
543 OutputRect.right = lTmp;
544 }
545
546 if (bTopToBottom)
547 {
548 lTmp = OutputRect.top;
549 OutputRect.top = OutputRect.bottom;
550 OutputRect.bottom = lTmp;
551 }
552
553 Ret = (*BltRectFunc)(OutputObj,
554 InputObj,
555 psoMask,
556 pxlo,
557 &OutputRect,
558 &InputPoint,
559 pptlMask,
560 pbo,
561 &AdjustedBrushOrigin,
562 rop4);
563 break;
564 case DC_RECT:
565 /* Clip the blt to the clip rectangle */
566 ClipRect.left = pco->rclBounds.left;
567 ClipRect.right = pco->rclBounds.right;
568 ClipRect.top = pco->rclBounds.top;
569 ClipRect.bottom = pco->rclBounds.bottom;
570 if (RECTL_bIntersectRect(&CombinedRect, &OutputRect, &ClipRect))
571 {
572#ifdef _USE_DIBLIB_
573 if (BrushOrigin)
574 {
575 AdjustedBrushOrigin.x = BrushOrigin->x + CombinedRect.left - OutputRect.left;
576 AdjustedBrushOrigin.y = BrushOrigin->y + CombinedRect.top - OutputRect.top;
577 }
578#endif
579 Pt.x = InputPoint.x + CombinedRect.left - OutputRect.left;
580 Pt.y = InputPoint.y + CombinedRect.top - OutputRect.top;
581 Ret = (*BltRectFunc)(OutputObj,
582 InputObj,
583 psoMask,
584 pxlo,
585 &CombinedRect,
586 &Pt,
587 pptlMask,
588 pbo,
589 &AdjustedBrushOrigin,
590 rop4);
591 }
592 break;
593 case DC_COMPLEX:
594 Ret = TRUE;
595 if (OutputObj == InputObj)
596 {
597 if (OutputRect.top < InputPoint.y)
598 {
599 Direction = OutputRect.left < InputPoint.x ?
601 }
602 else
603 {
604 Direction = OutputRect.left < InputPoint.x ?
606 }
607 }
608 else
609 {
611 }
613 do
614 {
615 EnumMore = CLIPOBJ_bEnum(pco, sizeof(RectEnum),
616 (PVOID) &RectEnum);
617
618 for (i = 0; i < RectEnum.c; i++)
619 {
620 ClipRect.left = RectEnum.arcl[i].left;
621 ClipRect.right = RectEnum.arcl[i].right;
622 ClipRect.top = RectEnum.arcl[i].top;
623 ClipRect.bottom = RectEnum.arcl[i].bottom;
624 if (RECTL_bIntersectRect(&CombinedRect, &OutputRect, &ClipRect))
625 {
626#ifdef _USE_DIBLIB_
627 if (BrushOrigin)
628 {
629 AdjustedBrushOrigin.x = BrushOrigin->x + CombinedRect.left - OutputRect.left;
630 AdjustedBrushOrigin.y = BrushOrigin->y + CombinedRect.top - OutputRect.top;
631 }
632#endif
633 Pt.x = InputPoint.x + CombinedRect.left - OutputRect.left;
634 Pt.y = InputPoint.y + CombinedRect.top - OutputRect.top;
635 Ret = (*BltRectFunc)(OutputObj,
636 InputObj,
637 psoMask,
638 pxlo,
639 &CombinedRect,
640 &Pt,
641 pptlMask,
642 pbo,
643 &AdjustedBrushOrigin,
644 rop4) && Ret;
645 }
646 }
647 }
648 while (EnumMore);
649 break;
650 }
651
652 return Ret;
653}
#define BRUSHOBJ_psoMask(pbo)
Definition: brush.h:182
#define ROP4_NOOP
Definition: inteng.h:54
#define ROP4_USES_MASK(Rop4)
Definition: inteng.h:47
@ R3_OPINDEX_PATCOPY
Definition: inteng.h:35
#define ROP4_USES_SOURCE(Rop4)
Definition: inteng.h:45
WDF_EXTERN_C_START typedef _In_ WDFDEVICE _In_ WDFCONTEXT _In_ WDF_DMA_DIRECTION Direction
BOOLEAN(APIENTRY * PBLTRECTFUNC)(SURFOBJ *OutputObj, SURFOBJ *InputObj, SURFOBJ *Mask, XLATEOBJ *ColorTranslation, RECTL *OutputRect, POINTL *InputPoint, POINTL *MaskOrigin, BRUSHOBJ *pbo, POINTL *BrushOrigin, ROP4 Rop4)
Definition: bitblt.c:35
static BOOLEAN APIENTRY BltMask(SURFOBJ *psoDest, SURFOBJ *psoSource, SURFOBJ *psoMask, XLATEOBJ *ColorTranslation, RECTL *prclDest, POINTL *pptlSource, POINTL *pptlMask, BRUSHOBJ *pbo, POINTL *pptlBrush, ROP4 Rop4)
Definition: bitblt.c:47
static BOOLEAN APIENTRY CallDibBitBlt(SURFOBJ *OutputObj, SURFOBJ *InputObj, SURFOBJ *Mask, XLATEOBJ *ColorTranslation, RECTL *OutputRect, POINTL *InputPoint, POINTL *MaskOrigin, BRUSHOBJ *pbo, POINTL *BrushOrigin, ROP4 Rop4)
Definition: bitblt.c:216
static BOOLEAN APIENTRY BltPatCopy(SURFOBJ *Dest, SURFOBJ *Source, SURFOBJ *Mask, XLATEOBJ *ColorTranslation, RECTL *DestRect, POINTL *SourcePoint, POINTL *MaskPoint, BRUSHOBJ *pbo, POINTL *BrushPoint, DWORD Rop4)
Definition: bitblt.c:196
_In_ SURFOBJ * psoSrc
Definition: winddi.h:3414
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL * prclTrg
Definition: winddi.h:3437
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL _In_ ROP4 rop4
Definition: winddi.h:3442
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ _In_opt_ POINTL * pptlBrush
Definition: winddi.h:3441
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ * pxlo
Definition: winddi.h:3416
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoMask
Definition: winddi.h:3434
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL * pptlSrc
Definition: winddi.h:3438
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL _In_opt_ BRUSHOBJ * pbo
Definition: winddi.h:3440
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ RECTL _In_opt_ POINTL _In_opt_ POINTL * pptlMask
Definition: winddi.h:3439

Referenced by IntEngBitBlt(), NtGdiEngBitBlt(), and PanBitBlt().

◆ EngBugCheckEx()

ENGAPI VOID APIENTRY EngBugCheckEx ( _In_ ULONG  BugCheckCode,
_In_ ULONG_PTR  P1,
_In_ ULONG_PTR  P2,
_In_ ULONG_PTR  P3,
_In_ ULONG_PTR  P4 
)

◆ EngCheckAbort()

ENGAPI BOOL APIENTRY EngCheckAbort ( _In_ SURFOBJ pso)

◆ EngClearEvent()

ENGAPI VOID APIENTRY EngClearEvent ( _In_ PEVENT  pEvent)

Definition at line 85 of file engevent.c.

87{
88 /* Clear the event */
89 KeClearEvent(Event->pKEvent);
90}
VOID NTAPI KeClearEvent(IN PKEVENT Event)
Definition: eventobj.c:22

◆ EngCombineRgn()

ENGAPI INT APIENTRY EngCombineRgn ( _In_ HANDLE  hrgnTrg,
_In_ HANDLE  hrgnSrc1,
_In_ HANDLE  hrgnSrc2,
_In_ INT  iMode 
)

◆ EngControlSprites()

ENGAPI BOOL APIENTRY EngControlSprites ( _Inout_ WNDOBJ pwo,
_In_ FLONG  fl 
)

◆ EngCopyBits()

ENGAPI BOOL APIENTRY EngCopyBits ( _In_ SURFOBJ psoDest,
_In_ SURFOBJ psoSrc,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ __in_data_source(USER_MODE) RECTL prclDest,
_In_ __in_data_source(USER_MODE) POINTL pptlSrc 
)

◆ EngCopyRgn()

ENGAPI INT APIENTRY EngCopyRgn ( _In_ HANDLE  hrgnDst,
_In_ HANDLE  hrgnSrc 
)

◆ EngCreateBitmap()

◆ EngCreateClip()

ENGAPI CLIPOBJ *APIENTRY EngCreateClip ( VOID  )

Definition at line 222 of file clip.c.

223{
225 if(Clip != NULL)
226 {
227 IntEngInitClipObj(Clip);
228 TRACE("Created Clip Obj %p.\n", Clip);
229 return (CLIPOBJ *)Clip;
230 }
231
232 ERR("Clip object allocation failed!\n");
233 return NULL;
234}
#define FL_ZERO_MEMORY
Definition: polytest.cpp:58
void * EngAllocMem(int zero, unsigned long size, int tag=0)
Definition: polytest.cpp:70
#define TRACE(s)
Definition: solgame.cpp:4
VOID FASTCALL IntEngInitClipObj(XCLIPOBJ *Clip)
Definition: clip.c:158
#define GDITAG_CLIPOBJ
Definition: tags.h:78

Referenced by EngLineTo(), and IntEngEnter().

◆ EngCreateDeviceBitmap()

_Must_inspect_result_ ENGAPI HBITMAP APIENTRY EngCreateDeviceBitmap ( _In_ DHSURF  dhsurf,
_In_ SIZEL  sizl,
_In_ ULONG  iFormatCompat 
)

Definition at line 351 of file surface.c.

355{
356 PSURFACE psurf;
358
359 /* Allocate a surface */
361 sizl.cx,
362 sizl.cy,
363 iFormat,
364 0,
365 0,
366 0,
367 NULL);
368 if (!psurf)
369 {
370 DPRINT1("SURFACE_AllocSurface failed. (STYPE_DEVBITMAP, sizl.cx=%ld, sizl.cy=%ld, iFormat=%lu)\n",
371 sizl.cx, sizl.cy, iFormat);
372 return NULL;
373 }
374
375 /* Set the device handle */
376 psurf->SurfObj.dhsurf = dhsurf;
377
378 /* Set public ownership */
380
381 /* Get the handle for the bitmap */
382 hbmp = (HBITMAP)psurf->SurfObj.hsurf;
383
384 /* Unlock the surface and return */
386 return hbmp;
387}
HBITMAP hbmp
static HBITMAP
Definition: button.c:44
#define GDI_OBJ_HMGR_PUBLIC
Definition: ntgdihdl.h:116
BASEOBJECT BaseObject
Definition: surface.h:6
DHSURF dhsurf
Definition: winddi.h:1205
HSURF hsurf
Definition: winddi.h:1206
PSURFACE NTAPI SURFACE_AllocSurface(_In_ USHORT iType, _In_ ULONG cx, _In_ ULONG cy, _In_ ULONG iFormat, _In_ ULONG fjBitmap, _In_opt_ ULONG cjWidth, _In_opt_ ULONG cjBufSize, _In_opt_ PVOID pvBits)
Definition: surface.c:116
#define SURFACE_UnlockSurface(pBMObj)
Definition: surface.h:100
VOID NTAPI GDIOBJ_vSetObjectOwner(POBJ pobj, ULONG ulNewOwner)
Definition: gdiobj.c:965
#define STYPE_DEVBITMAP
Definition: winddi.h:1177
_In_ SIZEL _In_ ULONG iFormat
Definition: winddi.h:3468
_In_ SIZEL sizl
Definition: winddi.h:3467

◆ EngCreateDeviceSurface()

_Must_inspect_result_ ENGAPI HSURF APIENTRY EngCreateDeviceSurface ( _In_ DHSURF  dhsurf,
_In_ SIZEL  sizl,
_In_ ULONG  iFormatCompat 
)

Definition at line 391 of file surface.c.

395{
396 PSURFACE psurf;
397 HSURF hsurf;
398
399 /* Allocate a surface */
401 sizl.cx,
402 sizl.cy,
403 iFormat,
404 0,
405 0,
406 0,
407 NULL);
408 if (!psurf)
409 {
410 DPRINT1("SURFACE_AllocSurface failed. (STYPE_DEVICE, sizl.cx=%ld, sizl.cy=%ld, iFormat=%lu)\n",
411 sizl.cx, sizl.cy, iFormat);
412 return NULL;
413 }
414
415 /* Set the device handle */
416 psurf->SurfObj.dhsurf = dhsurf;
417
418 /* Set public ownership */
420
421 /* Get the handle for the surface */
422 hsurf = psurf->SurfObj.hsurf;
423
424 /* Unlock the surface and return */
426 return hsurf;
427}
#define STYPE_DEVICE
Definition: lmshare.h:24
typedef HSURF(APIENTRY FN_DrvEnableSurface)(_In_ DHPDEV dhpdev)

Referenced by DrvEnableSurface(), and PanEnableSurface().

◆ EngCreateDriverObj()

_Must_inspect_result_ ENGAPI HDRVOBJ APIENTRY EngCreateDriverObj ( _In_ PVOID  pvObj,
_In_opt_ FREEOBJPROC  pFreeObjProc,
_In_ HDEV  hdev 
)

Public interface

Definition at line 41 of file driverobj.c.

45{
46 PEDRIVEROBJ pedo;
47 HDRVOBJ hdo;
48 PDEVOBJ *ppdev = (PDEVOBJ*)hdev;
49
50 /* Allocate a new DRIVEROBJ */
52 if (!pedo)
53 {
54 return NULL;
55 }
56 hdo = pedo->baseobj.hHmgr;
57
58 /* Fill in fields */
59 pedo->drvobj.pvObj = pvObj;
60 pedo->drvobj.pFreeProc = pFreeObjProc;
61 pedo->drvobj.hdev = hdev;
62 pedo->drvobj.dhpdev = ppdev->dhpdev;
63
64 /* Unlock the object */
66
67 /* Return the handle */
68 return hdo;
69}
HGDIOBJ hHmgr(VOID)
Definition: baseobj.hpp:95
#define DRIVEROBJ_AllocObjectWithHandle()
Definition: driverobj.h:17
#define DRIVEROBJ_UnlockObject(pdo)
Definition: driverobj.h:18
PVOID pvObj
Definition: winddi.h:409
HDEV hdev
Definition: winddi.h:411
FREEOBJPROC pFreeProc
Definition: winddi.h:410
DHPDEV dhpdev
Definition: winddi.h:412
DRIVEROBJ drvobj
Definition: driverobj.h:7
BASEOBJECT baseobj
Definition: driverobj.h:6

◆ EngCreateFastMutex()

ENGAPI HFASTMUTEX APIENTRY EngCreateFastMutex ( VOID  )

◆ EngCreatePalette()

_Must_inspect_result_ ENGAPI HPALETTE APIENTRY EngCreatePalette ( _In_ ULONG  iMode,
_In_ ULONG  cColors,
_In_ ULONG pulColors,
_In_ FLONG  flRed,
_In_ FLONG  flGreen,
_In_ FLONG  flBlue 
)

◆ EngCreatePath()

ENGAPI PATHOBJ *APIENTRY EngCreatePath ( VOID  )

Definition at line 27 of file pathobj.c.

28{
29 PEPATHOBJ pPathObj;
30 const ULONG size = sizeof(EPATHOBJ);
31
33 if (pPath == NULL)
34 {
35 return NULL;
36 }
37
39 if (pPathObj == NULL)
40 {
41 return NULL;
42 }
43 RtlZeroMemory(pPathObj, size);
44
45 pPathObj->pPath = pPath;
46
47 pPath->flType = PATHTYPE_KEEPME;
48 pPath->epo = pPathObj;
49
50 return &pPathObj->po;
51}
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
#define PagedPool
Definition: env_spec_w32.h:308
GLsizeiptr size
Definition: glext.h:5919
#define PATH_AllocPathWithHandle()
Definition: path.h:69
#define PATHTYPE_KEEPME
Definition: path.h:24
struct _EPATHOBJ EPATHOBJ
Definition: path.h:62
PATHOBJ po
Definition: path.h:63
PPATH pPath
Definition: path.h:64
Definition: path.h:35
FLONG flType
Definition: path.h:40
struct _EPATHOBJ * epo
Definition: path.h:49
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:262
#define GDITAG_PATHOBJ
Definition: tags.h:147

◆ EngCreateRectRgn()

ENGAPI HANDLE APIENTRY EngCreateRectRgn ( _In_ INT  left,
_In_ INT  top,
_In_ INT  right,
_In_ INT  bottom 
)

◆ EngCreateRedirectionDeviceBitmap()

ENGAPI HBITMAP APIENTRY EngCreateRedirectionDeviceBitmap ( __in_data_source(USER_MODE) DHSURF  dhsurf,
__in_data_source(USER_MODE) SIZEL  sizl,
_In_ ULONG  iFormatCompat 
)

◆ EngCreateWnd()

_Must_inspect_result_ ENGAPI WNDOBJ *APIENTRY EngCreateWnd ( _In_ SURFOBJ pso,
_In_ HWND  hwnd,
_In_ WNDOBJCHANGEPROC  pfn,
_In_ FLONG  fl,
_In_ INT  iPixelFormat 
)

◆ EngCTGetCurrentGamma()

ULONG APIENTRY EngCTGetCurrentGamma ( _In_ HDEV  hdev)

◆ EngCTGetGammaTable()

VOID APIENTRY EngCTGetGammaTable ( _In_ ULONG  ulGamma,
_Out_ CONST BYTE **  pGammaTable,
_Out_ CONST BYTE **  pInverseGammaTable 
)

◆ EngDebugBreak()

Referenced by DeinitVGA(), and DIB_BltFromVGA().

◆ EngDebugPrint()

ENGAPI VOID APIENTRY EngDebugPrint ( _In_z_ PCHAR  StandardPrefix,
_In_z_ PCHAR  DebugMessage,
_In_ va_list  ap 
)

Definition at line 19 of file debug.c.

23{
24 vDbgPrintExWithPrefix(StandardPrefix,
25 -1,
27 DebugMessage,
28 ap);
29}
#define DPFLTR_ERROR_LEVEL
Definition: main.cpp:32
NTSYSAPI NTSTATUS WINAPI vDbgPrintExWithPrefix(LPCSTR, ULONG, ULONG, LPCSTR, __ms_va_list)
void int int ULONGLONG int va_list * ap
Definition: winesup.h:36

Referenced by DbgPrint().

◆ EngDeleteClip()

ENGAPI VOID APIENTRY EngDeleteClip ( _In_ _Post_ptr_invalid_ CLIPOBJ pco)

Definition at line 241 of file clip.c.

243{
244 XCLIPOBJ* pxco = (XCLIPOBJ *)pco;
245 TRACE("Deleting %p.\n", pco);
247 EngFreeMem(pxco);
248}
#define EngFreeMem
Definition: polytest.cpp:56
VOID FASTCALL IntEngFreeClipResources(XCLIPOBJ *Clip)
Definition: clip.c:164

Referenced by EngLineTo(), IntEngEnter(), and IntEngLeave().

◆ EngDeleteDriverObj()

ENGAPI BOOL APIENTRY EngDeleteDriverObj ( _In_ _Post_ptr_invalid_ HDRVOBJ  hdo,
_In_ BOOL  bCallBack,
_In_ BOOL  bLocked 
)

Definition at line 74 of file driverobj.c.

78{
79 PEDRIVEROBJ pedo;
80
81 /* Lock the object */
82 pedo = DRIVEROBJ_TryLockObject(hdo);
83 if (!pedo)
84 {
85 return FALSE;
86 }
87
88 /* Manually call cleanup callback */
89 if (bCallBack)
90 {
91 if (!pedo->drvobj.pFreeProc(&pedo->drvobj))
92 {
93 /* Callback failed */
95 return FALSE;
96 }
97 }
98
99 /* Prevent cleanup callback from being called again */
100 pedo->drvobj.pFreeProc = NULL;
101
102 /* Unlock if the caller indicates it is locked */
103 if (bLocked)
105
106 /* Now delete the object */
108 return TRUE;
109}
BOOLEAN bLocked
Definition: Mke2fs.c:19
FORCEINLINE PEDRIVEROBJ DRIVEROBJ_TryLockObject(HDRVOBJ hdo)
Definition: driverobj.h:22
VOID NTAPI GDIOBJ_vDeleteObject(POBJ pobj)
Definition: gdiobj.c:1111

◆ EngDeleteEvent()

ENGAPI BOOL APIENTRY EngDeleteEvent ( _In_ _Post_ptr_invalid_ PEVENT  pEvent)

Definition at line 63 of file engevent.c.

65{
66 DPRINT("EngDeleteEvent(%p)\n", Event);
67
68 /* Check if it's a usermapped event */
69 if (Event->fFlags & ENG_EVENT_USERMAPPED)
70 {
71 /* Disallow deletion of usermapped events */
72 DPRINT1("Driver attempted to delete a usermapped event!\n");
73 return FALSE;
74 }
75
76 /* Free the allocated memory */
78
79 /* Return success */
80 return TRUE;
81}
@ ENG_EVENT_USERMAPPED
Definition: engevent.h:8
#define ExFreePoolWithTag(_P, _T)
Definition: module.h:1109
#define GDITAG_ENG_EVENT
Definition: tags.h:58

◆ EngDeleteFastMutex()

ENGAPI VOID APIENTRY EngDeleteFastMutex ( _In_ HFASTMUTEX  hfm)

◆ EngDeleteFile()

ENGAPI BOOL APIENTRY EngDeleteFile ( _In_ LPWSTR  pwszFileName)

◆ EngDeletePalette()

ENGAPI BOOL APIENTRY EngDeletePalette ( _In_ _Post_ptr_invalid_ HPALETTE  hpal)

◆ EngDeletePath()

ENGAPI VOID APIENTRY EngDeletePath ( _In_ _Post_ptr_invalid_ PATHOBJ ppo)

◆ EngDeleteRgn()

ENGAPI VOID APIENTRY EngDeleteRgn ( _In_ HANDLE  hrgn)

◆ EngDeleteSafeSemaphore()

ENGAPI VOID APIENTRY EngDeleteSafeSemaphore ( _Inout_ _Post_invalid_ ENGSAFESEMAPHORE pssem)

Definition at line 181 of file semaphor.c.

183{
184 if (InterlockedDecrement(&pssem->lCount) == 0)
185 {
186 /* FIXME: Not thread-safe! Use result of InterlockedCompareExchangePointer! */
187 EngDeleteSemaphore(pssem->hsem);
188 (void)InterlockedExchangePointer((volatile PVOID *)&pssem->hsem, NULL);
189 }
190}
#define InterlockedDecrement
Definition: armddk.h:52
#define InterlockedExchangePointer(Target, Value)
Definition: dshow.h:45
_Requires_lock_not_held_ hsem VOID APIENTRY EngDeleteSemaphore(_Inout_ __drv_freesMem(Mem) HSEMAPHORE hsem)
Definition: semaphor.c:106

◆ EngDeleteSemaphore()

Definition at line 106 of file semaphor.c.

108{
109 // www.osr.com/ddk/graphics/gdifncs_13c7.htm
110 ASSERT(hsem);
111
114}
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
#define ExDeleteResourceLite(res)
Definition: env_spec_w32.h:647
#define GDITAG_SEMAPHORE
Definition: tags.h:159

Referenced by DdHmgCreate(), DdHmgDestroy(), DxDdCleanupDxGraphics(), DxDdStartupDxGraphics(), EngDeleteSafeSemaphore(), PDEVOBJ_vDeletePDEV(), Test_EngAcquireSemaphore(), Test_EngCreateSemaphore(), and Test_EngReleaseSemaphore().

◆ EngDeleteSurface()

ENGAPI BOOL APIENTRY EngDeleteSurface ( _In_ _Post_ptr_invalid_ HSURF  hsurf)

Definition at line 567 of file surface.c.

569{
570 PSURFACE psurf;
571
572 psurf = SURFACE_ShareLockSurface(hsurf);
573 if (!psurf)
574 {
575 DPRINT1("Could not reference surface %p to delete\n", hsurf);
576 return FALSE;
577 }
578
580 return TRUE;
581}

Referenced by DrvDisableSurface(), DrvEnableSurface(), DxEngDeleteSurface(), EBRUSHOBJ_pvGetEngBrush(), EngRealizeBrush(), EngSetPointerShape(), IntEngEnter(), IntEngLeave(), IntExtTextOutW(), NtGdiSetDIBitsToDeviceInternal(), and PanDisableSurface().

◆ EngDeleteWnd()

ENGAPI VOID APIENTRY EngDeleteWnd ( _In_ _Post_ptr_invalid_ WNDOBJ pwo)

◆ EngDitherColor()

ENGAPI ULONG APIENTRY EngDitherColor ( _In_ HDEV  hdev,
_In_ ULONG  iMode,
_In_ ULONG  rgb,
_When_(iMode==DM_DEFAULT, _Out_writes_bytes_(16 *8)) _When_(iMode==DM_MONOCHROME, _Out_writes_bytes_(8)) ULONG pul 
)

◆ EngDxIoctl()

ENGAPI HRESULT APIENTRY EngDxIoctl ( _In_ ULONG  ulIoctl,
_Inout_ PVOID  pBuffer,
_In_ ULONG  ulBufferSize 
)

◆ EngEnumForms()

ENGAPI BOOL APIENTRY EngEnumForms ( _In_ HANDLE  hPrinter,
_In_ DWORD  Level,
_Out_writes_bytes_opt_(cbBuf) LPBYTE  pForm,
_In_ DWORD  cbBuf,
_Out_ LPDWORD  pcbNeeded,
_Out_ LPDWORD  pcReturned 
)

◆ EngEqualRgn()

ENGAPI BOOL APIENTRY EngEqualRgn ( _In_ HANDLE  hrgn1,
_In_ HANDLE  hrgn2 
)

◆ EngEraseSurface()

ENGAPI BOOL APIENTRY EngEraseSurface ( _In_ SURFOBJ pso,
_In_ RECTL prcl,
_In_ ULONG  iColor 
)

Definition at line 585 of file surface.c.

589{
590 ASSERT(pso);
591 ASSERT(prcl);
592 return FillSolid(pso, prcl, iColor);
593}
BOOL APIENTRY FillSolid(SURFOBJ *pso, PRECTL pRect, ULONG iColor)
Definition: paint.c:35
_In_ ULONG _In_ CLIPOBJ _In_ RECTL * prcl
Definition: winddi.h:3531
_In_ ULONG iColor
Definition: xlateobj.h:17

◆ EngFillPath()

ENGAPI BOOL APIENTRY EngFillPath ( _Inout_ SURFOBJ pso,
_In_ PATHOBJ ppo,
_In_ CLIPOBJ pco,
_In_ BRUSHOBJ pbo,
_In_ POINTL pptlBrushOrg,
_In_ MIX  mix,
_In_ FLONG  flOptions 
)

◆ EngFindImageProcAddress()

ENGAPI PVOID APIENTRY EngFindImageProcAddress ( _In_ HANDLE  hModule,
_In_ LPSTR  lpProcName 
)

Definition at line 927 of file ldevobj.c.

930{
931 PLDEVOBJ pldev = (PLDEVOBJ)hModule;
932
934
935 /* Check if win32k is requested */
936 if (!pldev)
937 {
938 pldev = gpldevWin32k;
939 }
940
941 /* Check if the drivers entry point is requested */
942 if (_strnicmp(lpProcName, "DrvEnableDriver", 15) == 0)
943 {
944 return pldev->pGdiDriverInfo->EntryPoint;
945 }
946
947 /* Try to find the address */
948 return LDEVOBJ_pvFindImageProcAddress(pldev, lpProcName);
949}
HMODULE hModule
Definition: animate.c:44
#define _strnicmp(_String1, _String2, _MaxCount)
Definition: compat.h:23
static PVOID LDEVOBJ_pvFindImageProcAddress(_In_ PLDEVOBJ pldev, _In_z_ LPSTR pszProcName)
Definition: ldevobj.c:223
static LDEVOBJ * gpldevWin32k
Definition: ldevobj.c:22
struct _LDEVOBJ * PLDEVOBJ
SYSTEM_GDI_DRIVER_INFORMATION * pGdiDriverInfo
Definition: ldevobj.h:19

Referenced by DxDdStartupDxGraphics(), and UserLoadKbdDll().

◆ EngFindResource()

ENGAPI PVOID APIENTRY EngFindResource ( _In_ HANDLE  h,
_In_ INT  iName,
_In_ INT  iType,
_Out_ PULONG  pulSize 
)

◆ EngFntCacheFault()

ENGAPI VOID APIENTRY EngFntCacheFault ( _In_ ULONG  ulFastCheckSum,
_In_ ULONG  iFaultMode 
)

◆ EngFntCacheLookUp()

ENGAPI PVOID APIENTRY EngFntCacheLookUp ( _In_ ULONG  FastCheckSum,
_Out_ ULONG pulSize 
)

◆ EngFreeMem()

◆ EngFreeModule()

ENGAPI VOID APIENTRY EngFreeModule ( _In_ _Post_invalid_ HANDLE  h)

Definition at line 482 of file mapping.c.

484{
485 PFILEVIEW pFileView = (PFILEVIEW)h;
487
488 /* FIXME: Use system space because ARM3 doesn't support executable sections yet */
490 if (!NT_SUCCESS(Status))
491 {
492 DPRINT1("MmUnmapViewInSessionSpace failed: 0x%lx\n", Status);
493 ASSERT(FALSE);
494 }
495
496 /* Dereference the section */
497 ObDereferenceObject(pFileView->pSection);
498
499 /* Free the file view memory */
500 EngFreeMem(pFileView);
501}
NTSTATUS NTAPI MmUnmapViewInSystemSpace(IN PVOID MappedBase)
Definition: section.c:2761
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
Status
Definition: gdiplustypes.h:25
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
struct _FILEVIEW * PFILEVIEW
PVOID pvKView
Definition: mapping.h:13
PVOID pSection
Definition: mapping.h:16
#define ObDereferenceObject
Definition: obfuncs.h:203

Referenced by _Success_(), and EngUnmapFile().

◆ EngFreePrivateUserMem()

ENGAPI VOID APIENTRY EngFreePrivateUserMem ( _In_ PDD_SURFACE_LOCAL  psl,
_Pre_notnull_ __drv_freesMem(PrivateUserMem) PVOID  pv 
)

◆ EngFreeUserMem()

◆ EngGetCurrentCodePage()

ENGAPI VOID APIENTRY EngGetCurrentCodePage ( _Out_ PUSHORT  OemCodePage,
_Out_ PUSHORT  AnsiCodePage 
)

Definition at line 232 of file engmisc.c.

235{
236 /* Forward to kernel */
238}
static CODEPAGE_ENTRY AnsiCodePage
Definition: nls.c:46
static CODEPAGE_ENTRY OemCodePage
Definition: nls.c:47
NTSYSAPI VOID NTAPI RtlGetDefaultCodePage(_Out_ PUSHORT AnsiCodePage, _Out_ PUSHORT OemCodePage)

Referenced by FillTM().

◆ EngGetCurrentProcessId()

ENGAPI HANDLE APIENTRY EngGetCurrentProcessId ( VOID  )

◆ EngGetCurrentThreadId()

ENGAPI HANDLE APIENTRY EngGetCurrentThreadId ( VOID  )

◆ EngGetDriverName()

_Must_inspect_result_ _Ret_z_ ENGAPI LPWSTR APIENTRY EngGetDriverName ( _In_ HDEV  hdev)

Definition at line 1138 of file pdevobj.c.

1139{
1140 PPDEVOBJ ppdev = (PPDEVOBJ)hdev;
1141
1142 ASSERT(ppdev);
1143 ASSERT(ppdev->pldev);
1144 ASSERT(ppdev->pldev->pGdiDriverInfo);
1145 ASSERT(ppdev->pldev->pGdiDriverInfo->DriverName.Buffer);
1146
1147 return ppdev->pldev->pGdiDriverInfo->DriverName.Buffer;
1148}
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
struct _LDEVOBJ * pldev
Definition: pdevobj.h:119

◆ EngGetFileChangeTime()

ENGAPI BOOL APIENTRY EngGetFileChangeTime ( _In_ HANDLE  h,
_Out_ LARGE_INTEGER pChangeTime 
)

◆ EngGetFilePath()

ENGAPI BOOL APIENTRY EngGetFilePath ( _In_ HANDLE  h,
_Out_ WCHAR(*)  pDest[MAX_PATH+1] 
)

◆ EngGetForm()

ENGAPI BOOL APIENTRY EngGetForm ( _In_ HANDLE  hPrinter,
_In_ LPWSTR  pFormName,
_In_ DWORD  Level,
_In_reads_bytes_opt_(cbBuf) LPBYTE  pForm,
_In_ DWORD  cbBuf,
_Out_ LPDWORD  pcbNeeded 
)

◆ EngGetLastError()

ENGAPI ULONG APIENTRY EngGetLastError ( VOID  )

Definition at line 9 of file error.c.

10{
11 PTEB pTeb = NtCurrentTeb();
12 return (pTeb ? pTeb->LastErrorValue : ERROR_SUCCESS);
13}
#define ERROR_SUCCESS
Definition: deptool.c:10
#define NtCurrentTeb
Definition: compat.h:836
ULONG LastErrorValue
Definition: compat.h:843

Referenced by co_IntShellHookNotify(), IntSetClassAtom(), NtUserMessageCall(), VerifyMenu(), and VerifyWnd().

◆ EngGetPrinter()

ENGAPI BOOL APIENTRY EngGetPrinter ( _In_ HANDLE  hPrinter,
_In_ DWORD  dwLevel,
_Out_writes_bytes_opt_(cbBuf) LPBYTE  pPrinter,
_In_ DWORD  cbBuf,
_Out_ LPDWORD  pcbNeeded 
)

◆ EngGetPrinterData()

ENGAPI DWORD APIENTRY EngGetPrinterData ( _In_ HANDLE  hPrinter,
_In_ LPWSTR  pValueName,
_Out_opt_ LPDWORD  pType,
_Out_writes_bytes_opt_(cjSize) LPBYTE  pData,
_In_ DWORD  cjSize,
_Out_ LPDWORD  pcjNeeded 
)

◆ EngGetPrinterDataFileName()

ENGAPI LPWSTR APIENTRY EngGetPrinterDataFileName ( _In_ HDEV  hdev)

◆ EngGetPrinterDriver()

ENGAPI BOOL APIENTRY EngGetPrinterDriver ( _In_ HANDLE  hPrinter,
_In_opt_ LPWSTR  pEnvironment,
_In_ DWORD  dwLevel,
_Out_writes_bytes_opt_(cjBufSize) BYTE lpbDrvInfo,
_In_ DWORD  cjBufSize,
_Out_ DWORD pcjNeeded 
)

◆ EngGetProcessHandle()

ENGAPI HANDLE APIENTRY EngGetProcessHandle ( VOID  )

Definition at line 222 of file engmisc.c.

223{
224 /* http://www.osr.com/ddk/graphics/gdifncs_3tif.htm
225 In Windows 2000 and later, the EngGetProcessHandle function always returns NULL.
226 FIXME: What does NT4 return? */
227 return NULL;
228}

◆ EngGetRgnBox()

ENGAPI INT APIENTRY EngGetRgnBox ( _In_ HANDLE  hrgn,
_Out_ LPRECT  prcl 
)

◆ EngGetRgnData()

ENGAPI DWORD APIENTRY EngGetRgnData ( _In_ HANDLE  hrgn,
_In_ DWORD  nCount,
_Out_cap_(nCount) LPRGNDATA  lpRgnData 
)

◆ EngGetType1FontList()

ENGAPI BOOL APIENTRY EngGetType1FontList ( _In_ HDEV  hdev,
_Out_writes_bytes_opt_(cjType1Buffer) TYPE1_FONT pType1Buffer,
_In_ ULONG  cjType1Buffer,
_Out_ PULONG  pulLocalFonts,
_Out_ PULONG  pulRemoteFonts,
_Out_ LARGE_INTEGER pLastModified 
)

◆ EngGradientFill()

ENGAPI BOOL APIENTRY EngGradientFill ( _Inout_ SURFOBJ psoDest,
_In_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ TRIVERTEX pVertex,
_In_ ULONG  nVertex,
_In_ PVOID  pMesh,
_In_ ULONG  nMesh,
_In_ RECTL prclExtents,
_In_ POINTL pptlDitherOrg,
_In_ ULONG  ulMode 
)

Definition at line 475 of file gradient.c.

486{
487 ULONG i;
488 BOOL ret = FALSE;
489
490 /* Check for NULL clip object */
491 if (pco == NULL)
492 {
493 /* Use the trivial one instead */
494 pco = (CLIPOBJ *)&gxcoTrivial;//.coClient;
495 }
496
497 switch(ulMode)
498 {
499 case GRADIENT_FILL_RECT_H:
500 case GRADIENT_FILL_RECT_V:
501 {
503 for (i = 0; i < nMesh; i++, gr++)
504 {
505 if (!IntEngGradientFillRect(psoDest,
506 pco,
507 pxlo,
508 pVertex,
509 nVertex,
510 gr,
513 (ulMode == GRADIENT_FILL_RECT_H)))
514 {
515 break;
516 }
517 }
518 ret = TRUE;
519 break;
520 }
521 case GRADIENT_FILL_TRIANGLE:
522 {
524 for (i = 0; i < nMesh; i++, gt++)
525 {
527 {
528 /* skip empty triangles */
529 continue;
530 }
531 if (!IntEngGradientFillTriangle(psoDest,
532 pco,
533 pxlo,
534 pVertex,
535 nVertex,
536 gt,
539 {
540 break;
541 }
542 }
543 ret = TRUE;
544 break;
545 }
546 }
547
548 return ret;
549}
int ret
XCLIPOBJ gxcoTrivial
Definition: bitblt.c:20
static BOOL IntEngIsNULLTriangle(TRIVERTEX *pVertex, GRADIENT_TRIANGLE *gt)
Definition: gradient.c:461
BOOL FASTCALL IntEngGradientFillRect(IN SURFOBJ *psoDest, IN CLIPOBJ *pco, IN XLATEOBJ *pxlo, IN TRIVERTEX *pVertex, IN ULONG nVertex, IN PGRADIENT_RECT gRect, IN RECTL *prclExtents, IN POINTL *pptlDitherOrg, IN BOOL Horizontal)
Definition: gradient.c:43
BOOL FASTCALL IntEngGradientFillTriangle(IN SURFOBJ *psoDest, IN CLIPOBJ *pco, IN XLATEOBJ *pxlo, IN TRIVERTEX *pVertex, IN ULONG nVertex, IN PGRADIENT_TRIANGLE gTriangle, IN RECTL *prclExtents, IN POINTL *pptlDitherOrg)
Definition: gradient.c:310
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID pMesh
Definition: winddi.h:3653
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL * pptlDitherOrg
Definition: winddi.h:3656
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG nVertex
Definition: winddi.h:3652
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL * prclExtents
Definition: winddi.h:3655
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG _In_ RECTL _In_ POINTL _In_ ULONG ulMode
Definition: winddi.h:3657
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX * pVertex
Definition: winddi.h:3651
_In_ CLIPOBJ _In_opt_ XLATEOBJ _In_ TRIVERTEX _In_ ULONG _In_ PVOID _In_ ULONG nMesh
Definition: winddi.h:3654
struct _GRADIENT_RECT * PGRADIENT_RECT
struct _GRADIENT_TRIANGLE * PGRADIENT_TRIANGLE

Referenced by IntEngGradientFill(), and PanGradientFill().

◆ EngHangNotification()

ENGAPI ULONG APIENTRY EngHangNotification ( _In_ HDEV  hDev,
_Reserved_ PVOID  Reserved 
)

◆ EngInitializeSafeSemaphore()

ENGAPI BOOL APIENTRY EngInitializeSafeSemaphore ( _Out_ ENGSAFESEMAPHORE pssem)

Definition at line 147 of file semaphor.c.

149{
150 HSEMAPHORE hSem;
151
152 if (InterlockedIncrement(&Semaphore->lCount) == 1)
153 {
154 /* Create the semaphore */
155 hSem = EngCreateSemaphore();
156 if (hSem == 0)
157 {
158 InterlockedDecrement(&Semaphore->lCount);
159 return FALSE;
160 }
161 /* FIXME: Not thread-safe! Check result of InterlockedCompareExchangePointer
162 and delete semaphore if already initialized! */
163 (void)InterlockedExchangePointer((volatile PVOID *)&Semaphore->hsem, hSem);
164 }
165 else
166 {
167 /* Wait for the other thread to create the semaphore */
168 ASSERT(Semaphore->lCount > 1);
170 while (Semaphore->hsem == NULL);
171 }
172
173 return TRUE;
174}
#define InterlockedIncrement
Definition: armddk.h:53
DWORD_PTR HSEMAPHORE
Definition: axcore.idl:60
#define PASSIVE_LEVEL
Definition: env_spec_w32.h:693
HSEMAPHORE WINAPI EngCreateSemaphore(VOID)
Definition: eng.c:75
#define ASSERT_IRQL_LESS_OR_EQUAL(x)
Definition: debug.h:251

◆ EngIntersectRgn()

ENGAPI INT APIENTRY EngIntersectRgn ( _In_ HANDLE  hrgnResult,
_In_ HANDLE  hRgnA,
_In_ HANDLE  hRgnB 
)

◆ EngIsSemaphoreOwned()

ENGAPI BOOL APIENTRY EngIsSemaphoreOwned ( _In_ HSEMAPHORE  hsem)

Definition at line 121 of file semaphor.c.

123{
124 // www.osr.com/ddk/graphics/gdifncs_6wmf.htm
125 ASSERT(hsem);
126 return (((PERESOURCE)hsem)->ActiveCount > 0);
127}

◆ EngIsSemaphoreOwnedByCurrentThread()

ENGAPI BOOL APIENTRY EngIsSemaphoreOwnedByCurrentThread ( _In_ HSEMAPHORE  hsem)

Definition at line 134 of file semaphor.c.

136{
137 // www.osr.com/ddk/graphics/gdifncs_9yxz.htm
138 ASSERT(hsem);
140}
BOOLEAN NTAPI ExIsResourceAcquiredExclusiveLite(IN PERESOURCE Resource)
Definition: resource.c:1624

◆ EngIsSemaphoreSharedByCurrentThread()

ENGAPI BOOL APIENTRY EngIsSemaphoreSharedByCurrentThread ( _In_ HSEMAPHORE  hsem)

◆ EngLineTo()

ENGAPI BOOL APIENTRY EngLineTo ( _Inout_ SURFOBJ pso,
_In_ CLIPOBJ pco,
_In_ BRUSHOBJ pbo,
_In_ LONG  x1,
_In_ LONG  y1,
_In_ LONG  x2,
_In_ LONG  y2,
_In_opt_ RECTL prclBounds,
_In_ MIX  mix 
)

Definition at line 440 of file lineto.c.

450{
451 LONG x, y, deltax, deltay, xchange, ychange, hx, vy;
452 ULONG i;
453 ULONG Pixel = pbo->iSolidColor;
454 SURFOBJ *OutputObj;
455 RECTL DestRect;
456 POINTL Translate;
457 INTENG_ENTER_LEAVE EnterLeave;
458 RECT_ENUM RectEnum;
459 BOOL EnumMore;
460 CLIPOBJ *pcoPriv = NULL;
461 PEBRUSHOBJ pebo = (PEBRUSHOBJ)pbo;
462 ULONG cStyles = pebo->pbrush->dwStyleCount;
463
464 if (x1 < x2)
465 {
466 DestRect.left = x1;
467 DestRect.right = x2;
468 }
469 else
470 {
471 DestRect.left = x2;
472 DestRect.right = x1 + 1;
473 }
474 if (y1 < y2)
475 {
476 DestRect.top = y1;
477 DestRect.bottom = y2;
478 }
479 else
480 {
481 DestRect.top = y2;
482 DestRect.bottom = y1 + 1;
483 }
484
485 if (! IntEngEnter(&EnterLeave, DestObj, &DestRect, FALSE, &Translate, &OutputObj))
486 {
487 return FALSE;
488 }
489
490 if (!Clip)
491 {
492 Clip = pcoPriv = EngCreateClip();
493 if (!Clip)
494 {
495 return FALSE;
496 }
497 IntEngUpdateClipRegion((XCLIPOBJ*)Clip, 0, 0, RectBounds);
498 }
499
500 x1 += Translate.x;
501 x2 += Translate.x;
502 y1 += Translate.y;
503 y2 += Translate.y;
504
505 x = x1;
506 y = y1;
507 deltax = x2 - x1;
508 deltay = y2 - y1;
509
510 if (0 == deltax && 0 == deltay)
511 {
512 return TRUE;
513 }
514
515 if (deltax < 0)
516 {
517 xchange = -1;
518 deltax = - deltax;
519 hx = x2 + 1;
520 }
521 else
522 {
523 xchange = 1;
524 hx = x1;
525 }
526
527 if (deltay < 0)
528 {
529 ychange = -1;
530 deltay = - deltay;
531 vy = y2 + 1;
532 }
533 else
534 {
535 ychange = 1;
536 vy = y1;
537 }
538
539 if ((y1 == y2) && (cStyles == 0))
540 {
542 do
543 {
544 EnumMore = CLIPOBJ_bEnum(Clip, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
545 for (i = 0; i < RectEnum.c && RectEnum.arcl[i].top + Translate.y <= y1; i++)
546 {
547 if (y1 < RectEnum.arcl[i].bottom + Translate.y &&
548 RectEnum.arcl[i].left + Translate.x <= hx + deltax &&
549 hx < RectEnum.arcl[i].right + Translate.x &&
550 max(hx, RectEnum.arcl[i].left + Translate.x) <
551 min(hx + deltax, RectEnum.arcl[i].right + Translate.x))
552 {
554 OutputObj,
555 max(hx, RectEnum.arcl[i].left + Translate.x),
556 min(hx + deltax, RectEnum.arcl[i].right + Translate.x),
557 y1, Pixel);
558 }
559 }
560 }
561 while (EnumMore);
562 }
563 else if ((x1 == x2) && (cStyles == 0))
564 {
566 do
567 {
568 EnumMore = CLIPOBJ_bEnum(Clip, (ULONG) sizeof(RectEnum), (PVOID) &RectEnum);
569 for (i = 0; i < RectEnum.c; i++)
570 {
571 if (RectEnum.arcl[i].left + Translate.x <= x1 &&
572 x1 < RectEnum.arcl[i].right + Translate.x &&
573 RectEnum.arcl[i].top + Translate.y <= vy + deltay &&
574 vy < RectEnum.arcl[i].bottom + Translate.y)
575 {
577 OutputObj, x1,
578 max(vy, RectEnum.arcl[i].top + Translate.y),
579 min(vy + deltay, RectEnum.arcl[i].bottom + Translate.y),
580 Pixel);
581 }
582 }
583 }
584 while (EnumMore);
585 }
586 else
587 {
588 if (0 < xchange)
589 {
590 if (0 < ychange)
591 {
592 NWtoSE(OutputObj, Clip, pbo, x, y, deltax, deltay, &Translate);
593 }
594 else
595 {
596 SWtoNE(OutputObj, Clip, pbo, x, y, deltax, deltay, &Translate);
597 }
598 }
599 else
600 {
601 if (0 < ychange)
602 {
603 NEtoSW(OutputObj, Clip, pbo, x, y, deltax, deltay, &Translate);
604 }
605 else
606 {
607 SEtoNW(OutputObj, Clip, pbo, x, y, deltax, deltay, &Translate);
608 }
609 }
610 }
611
612 if (pcoPriv)
613 {
614 EngDeleteClip(pcoPriv);
615 }
616
617 return IntEngLeave(&EnterLeave);
618}
void FASTCALL SWtoNE(SURFOBJ *OutputObj, CLIPOBJ *Clip, BRUSHOBJ *pbo, LONG x, LONG y, LONG deltax, LONG deltay, POINTL *Translate)
Definition: lineto.c:179
void FASTCALL NEtoSW(SURFOBJ *OutputObj, CLIPOBJ *Clip, BRUSHOBJ *pbo, LONG x, LONG y, LONG deltax, LONG deltay, POINTL *Translate)
Definition: lineto.c:265
void FASTCALL SEtoNW(SURFOBJ *OutputObj, CLIPOBJ *Clip, BRUSHOBJ *pbo, LONG x, LONG y, LONG deltax, LONG deltay, POINTL *Translate)
Definition: lineto.c:351
void FASTCALL NWtoSE(SURFOBJ *OutputObj, CLIPOBJ *Clip, BRUSHOBJ *pbo, LONG x, LONG y, LONG deltax, LONG deltay, POINTL *Translate)
Definition: lineto.c:92
struct _EBRUSHOBJ * PEBRUSHOBJ
GLint GLint GLint GLint GLint x
Definition: gl.h:1548
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
PFN_DIB_HLine DIB_HLine
Definition: dib.h:47
PFN_DIB_VLine DIB_VLine
Definition: dib.h:48
PBRUSH pbrush
Definition: brush.h:88
#define max(a, b)
Definition: svc.c:63
VOID FASTCALL IntEngUpdateClipRegion(XCLIPOBJ *Clip, ULONG count, const RECTL *pRect, const RECTL *rcBounds)
Definition: clip.c:173
ENGAPI CLIPOBJ *APIENTRY EngCreateClip(VOID)
Definition: clip.c:222
ENGAPI VOID APIENTRY EngDeleteClip(_In_ _Post_ptr_invalid_ CLIPOBJ *pco)
Definition: clip.c:241
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
Definition: winddi.h:3710
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG y1
Definition: winddi.h:3709
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
Definition: winddi.h:3708
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG _In_ LONG y2
Definition: winddi.h:3711

Referenced by IntEngLineTo().

◆ EngLoadImage()

ENGAPI HANDLE APIENTRY EngLoadImage ( _In_ LPWSTR  pwszDriverName)

Exported functions

Definition at line 904 of file ldevobj.c.

906{
907 return (HANDLE)LDEVOBJ_pLoadDriver(pwszDriverName, LDEV_IMAGE);
908}
PLDEVOBJ NTAPI LDEVOBJ_pLoadDriver(_In_z_ LPWSTR pwszDriverName, _In_ ULONG ldevtype)
Definition: ldevobj.c:347
@ LDEV_IMAGE
Definition: ldevobj.h:12

Referenced by DxDdStartupDxGraphics(), and UserLoadKbdDll().

◆ EngLoadModule()

ENGAPI HANDLE APIENTRY EngLoadModule ( _In_ LPWSTR  pwsz)

Definition at line 434 of file mapping.c.

436{
437 /* Forward to EngLoadModuleEx */
439}
@ FVF_READONLY
Definition: mapping.h:39
@ FVF_SYSTEMROOT
Definition: mapping.h:38
_Check_return_ PFILEVIEW NTAPI EngLoadModuleEx(_In_z_ LPWSTR pwsz, _In_ ULONG cjSizeOfModule, _In_ FLONG fl)
Definition: mapping.c:329

◆ EngLoadModuleForWrite()

ENGAPI HANDLE APIENTRY EngLoadModuleForWrite ( _In_ LPWSTR  pwsz,
_In_ ULONG  cjSizeOfModule 
)

Definition at line 443 of file mapping.c.

446{
447 /* Forward to EngLoadModuleEx */
448 return (HANDLE)EngLoadModuleEx(pwsz, cjSizeOfModule, FVF_SYSTEMROOT);
449}

◆ EngLockDirectDrawSurface()

ENGAPI PDD_SURFACE_LOCAL APIENTRY EngLockDirectDrawSurface ( _In_ HANDLE  hSurface)

◆ EngLockDriverObj()

ENGAPI DRIVEROBJ *APIENTRY EngLockDriverObj ( _In_ HDRVOBJ  hdo)

Definition at line 114 of file driverobj.c.

116{
117 PEDRIVEROBJ pedo;
118
119 /* Lock the object */
120 pedo = DRIVEROBJ_TryLockObject(hdo);
121
122 /* Return pointer to the DRIVEROBJ structure */
123 return pedo ? &pedo->drvobj : NULL;
124}

◆ EngLockSurface()

ENGAPI SURFOBJ *APIENTRY EngLockSurface ( _In_ HSURF  hsurf)

◆ EngLpkInstalled()

ENGAPI BOOL APIENTRY EngLpkInstalled ( VOID  )

Definition at line 552 of file stubs.c.

553{
555 return FALSE;
556}
#define UNIMPLEMENTED
Definition: stubs.c:6

◆ EngMapEvent()

ENGAPI PEVENT APIENTRY EngMapEvent ( _In_ HDEV  hDev,
_In_ HANDLE  hUserObject,
_Reserved_ PVOID  Reserved1,
_Reserved_ PVOID  Reserved2,
_Reserved_ PVOID  Reserved3 
)

Definition at line 114 of file engevent.c.

120{
121 PENG_EVENT EngEvent;
122 PVOID pvEvent;
124
125 /* Allocate memory for the event structure */
127 sizeof(ENG_EVENT),
129 if (!EngEvent) return NULL;
130
131 /* Zero it out */
132 EngEvent->fFlags = 0;
133 EngEvent->pKEvent = NULL;
134
135 /* Create a handle, and have Ob fill out the pKEvent field */
136 Status = ObReferenceObjectByHandle(hUserObject,
139 UserMode,
140 &pvEvent,
141 NULL);
142 if (NT_SUCCESS(Status))
143 {
144 /* Pulse the event and set that it's mapped by user */
146 EngEvent->pKEvent = pvEvent;
147 EngEvent->fFlags |= ENG_EVENT_USERMAPPED;
148 }
149 else
150 {
151 /* Free the allocation */
153 EngEvent = NULL;
154 }
155
156 /* Support legacy interface */
157 if (Reserved1) *(PVOID*)Reserved1 = EngEvent;
158 return EngEvent;
159}
@ Reserved1
Definition: bcd.h:201
#define NonPagedPool
Definition: env_spec_w32.h:307
LONG NTAPI KePulseEvent(IN PKEVENT Event, IN KPRIORITY Increment, IN BOOLEAN Wait)
Definition: eventobj.c:68
#define EVENT_ALL_ACCESS
Definition: isotest.c:82
#define UserMode
Definition: asm.h:35
POBJECT_TYPE ExEventObjectType
Definition: event.c:18
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
Definition: obref.c:494
ULONG fFlags
Definition: ntddvdeo.h:624
PVOID pKEvent
Definition: ntddvdeo.h:623
#define EVENT_INCREMENT
Definition: iotypes.h:597

◆ EngMarkBandingSurface()

ENGAPI BOOL APIENTRY EngMarkBandingSurface ( _In_ HSURF  hsurf)

◆ EngModifySurface()

ENGAPI BOOL APIENTRY EngModifySurface ( _In_ HSURF  hsurf,
_In_ HDEV  hdev,
_In_ FLONG  flHooks,
_In_ FLONG  flSurface,
_In_ DHSURF  dhsurf,
_In_ PVOID  pvScan0,
_In_ LONG  lDelta,
_Reserved_ PVOID  pvReserved 
)

Definition at line 471 of file surface.c.

480{
481 SURFOBJ *pso;
482 PSURFACE psurf;
483 PDEVOBJ* ppdev;
484 PPALETTE ppal;
485
486 /* Lock the surface */
487 psurf = SURFACE_ShareLockSurface(hsurf);
488 if (psurf == NULL)
489 {
490 DPRINT1("Failed to reference surface %p\n", hsurf);
491 return FALSE;
492 }
493
494 ppdev = (PDEVOBJ*)hdev;
495 pso = &psurf->SurfObj;
496 pso->dhsurf = dhsurf;
497
498 /* Associate the hdev */
499 pso->hdev = hdev;
500 pso->dhpdev = ppdev->dhpdev;
501
502 /* Hook up specified functions */
503 psurf->flags &= ~HOOK_FLAGS;
504 psurf->flags |= (flHooks & HOOK_FLAGS);
505
506 /* Assign the PDEV's palette */
508 SURFACE_vSetPalette(psurf, ppal);
510
511 /* Update surface flags */
512 if (flSurface & MS_NOTSYSTEMMEMORY)
513 pso->fjBitmap |= BMF_NOTSYSMEM;
514 else
515 pso->fjBitmap &= ~BMF_NOTSYSMEM;
516 if (flSurface & MS_SHAREDACCESS)
517 psurf->flags |= SHAREACCESS_SURFACE;
518 else
519 psurf->flags &= ~SHAREACCESS_SURFACE;
520
521 /* Check if the caller passed bitmap bits */
522 if ((pvScan0 != NULL) && (lDelta != 0))
523 {
524 /* Update the fields */
525 pso->pvScan0 = pvScan0;
526 pso->lDelta = lDelta;
527
528 /* This is a bitmap now! */
529 pso->iType = STYPE_BITMAP;
530
531 /* Check memory layout */
532 if (lDelta > 0)
533 {
534 /* Topdown is the normal way */
535 pso->cjBits = lDelta * pso->sizlBitmap.cy;
536 pso->pvBits = pso->pvScan0;
537 pso->fjBitmap |= BMF_TOPDOWN;
538 }
539 else
540 {
541 /* Inversed bitmap (bottom up) */
542 pso->cjBits = (-lDelta) * pso->sizlBitmap.cy;
543 pso->pvBits = (PCHAR)pso->pvScan0 - pso->cjBits - lDelta;
544 pso->fjBitmap &= ~BMF_TOPDOWN;
545 }
546 }
547 else
548 {
549 /* Set bits to NULL */
550 pso->pvBits = NULL;
551 pso->pvScan0 = NULL;
552 pso->lDelta = 0;
553
554 /* Set appropriate surface type */
555 if (pso->iType != STYPE_DEVICE)
556 pso->iType = STYPE_DEVBITMAP;
557 }
558
560
561 return TRUE;
562}
char * PCHAR
Definition: typedefs.h:51
@ SHAREACCESS_SURFACE
Definition: surface.h:52
#define STYPE_BITMAP
Definition: winddi.h:1175
#define MS_NOTSYSTEMMEMORY
Definition: winddi.h:2129
#define MS_SHAREDACCESS
Definition: winddi.h:2130
#define BMF_TOPDOWN
Definition: winddi.h:1180
#define BMF_NOTSYSMEM
Definition: winddi.h:1185

Referenced by DrvAssertMode(), and DrvEnableSurface().

◆ EngMovePointer()

ENGAPI VOID APIENTRY EngMovePointer ( _In_ SURFOBJ pso,
_In_ LONG  x,
_In_ LONG  y,
_In_ RECTL prcl 
)

Definition at line 575 of file mouse.c.

580{
581 PDEVOBJ *ppdev;
582 GDIPOINTER *pgp;
583
584 ASSERT(pso);
585
586 ppdev = GDIDEV(pso);
587 ASSERT(ppdev);
588
589 pgp = &ppdev->Pointer;
590
591 IntHideMousePointer(ppdev, pso);
592
593 ppdev->ptlPointer.x = x;
594 ppdev->ptlPointer.y = y;
595
596 if (x != -1)
597 {
598 IntShowMousePointer(ppdev, pso);
599 if (prcl != NULL)
600 {
601 prcl->left = x - pgp->HotSpot.x;
602 prcl->top = y - pgp->HotSpot.y;
603 prcl->right = prcl->left + pgp->Size.cx;
604 prcl->bottom = prcl->top + pgp->Size.cy;
605 }
606 }
607 else if (prcl != NULL)
608 {
609 prcl->left = prcl->top = prcl->right = prcl->bottom = -1;
610 }
611}
POINTL HotSpot
Definition: pdevobj.h:32
SIZEL Size
Definition: pdevobj.h:31
POINTL ptlPointer
Definition: pdevobj.h:91
GDIPOINTER Pointer
Definition: pdevobj.h:143
LONG cx
Definition: kdterminal.h:27
LONG cy
Definition: kdterminal.h:28
VOID NTAPI IntShowMousePointer(_Inout_ PDEVOBJ *ppdev, _Inout_ SURFOBJ *psoDest)
Definition: mouse.c:196
VOID NTAPI IntHideMousePointer(_Inout_ PDEVOBJ *ppdev, _Inout_ SURFOBJ *psoDest)
Definition: mouse.c:142
#define GDIDEV(SurfObj)
Definition: surface.h:105

Referenced by DrvMovePointer(), GreMovePointer(), IntEngSetPointerShape(), MouseSafetyOnDrawEnd(), MouseSafetyOnDrawStart(), and PDEVOBJ_Create().

◆ EngMulDiv()

ENGAPI INT APIENTRY EngMulDiv ( _In_ INT  a,
_In_ INT  b,
_In_ INT  c 
)

Definition at line 26 of file math.c.

30{
31 INT64 i64Multiplied, i64Result;
32
33 /* Check for divide by zero */
34 if (iDivisor == 0)
35 {
36 /* Quick sign check and return "infinite" */
37 return ((iMultiplicand ^ iMultiplier) < 0) ? INT_MIN : INT_MAX;
38 }
39
40 /* We want to deal with a positive divisor to simplify the logic. */
41 if (iDivisor < 0)
42 {
43 iMultiplicand = -iMultiplicand;
44 iDivisor = -iDivisor;
45 }
46
47 /* Do the multiplication */
48 i64Multiplied = Int32x32To64(iMultiplicand, iMultiplier);
49
50 /* If the result is positive, we add to round, else we subtract to round. */
51 if (i64Multiplied >= 0)
52 {
53 i64Multiplied += (iDivisor / 2);
54 }
55 else
56 {
57 i64Multiplied -= (iDivisor / 2);
58 }
59
60 /* Now do the divide */
61 i64Result = i64Multiplied / iDivisor;
62
63 /* Check for positive overflow */
64 if (i64Result > INT_MAX)
65 {
66 return INT_MAX;
67 }
68
69 /* Check for negative overflow. */
70 if (i64Result < INT_MIN)
71 {
72 return INT_MIN;
73 }
74
75 return (INT)i64Result;
76}
signed long long INT64
#define INT_MIN
Definition: intsafe.h:123
#define INT_MAX
Definition: intsafe.h:150
#define Int32x32To64(a, b)
int32_t INT
Definition: typedefs.h:58

Referenced by IntCalculateThumb(), IntGdiSetMapMode(), IntPaintDesktop(), PATH_Ellipse(), and PATH_RoundRect().

◆ EngMultiByteToUnicodeN()

ENGAPI VOID APIENTRY EngMultiByteToUnicodeN ( _Out_writes_bytes_to_(MaxBytesInUnicodeString, *BytesInUnicodeString) LPWSTR  UnicodeString,
_In_ ULONG  MaxBytesInUnicodeString,
_Out_opt_ PULONG  BytesInUnicodeString,
_In_reads_bytes_(BytesInMultiByteString) PCHAR  MultiByteString,
_In_ ULONG  BytesInMultiByteString 
)

◆ EngMultiByteToWideChar()

ENGAPI INT APIENTRY EngMultiByteToWideChar ( _In_ UINT  CodePage,
_Out_writes_bytes_opt_(cjWideCharString) LPWSTR  WideCharString,
_In_ INT  cjWideCharString,
_In_reads_bytes_opt_(cjMultiByteString) LPSTR  MultiByteString,
_In_ INT  cjMultiByteString 
)

◆ EngOffsetRgn()

ENGAPI INT APIENTRY EngOffsetRgn ( _In_ HANDLE  hrgn,
_In_ INT  x,
_In_ INT  y 
)

◆ EngPaint()

ENGAPI BOOL APIENTRY EngPaint ( _In_ SURFOBJ pso,
_In_ CLIPOBJ pco,
_In_ BRUSHOBJ pbo,
_In_ POINTL pptlBrushOrg,
_In_ __in_data_source(USER_MODE) MIX  mix 
)

Definition at line 54 of file paint.c.

60{
61 ROP4 rop4;
62
63 /* Convert the MIX, consisting of 2 ROP2 codes into a ROP4 */
65
66 /* Sanity check */
68
69 /* Forward the call to Eng/DrvBitBlt */
70 return IntEngBitBlt(pso,
71 NULL,
72 NULL,
73 pco,
74 NULL,
75 &pco->rclBounds,
76 NULL,
77 NULL,
78 pbo,
80 rop4);
81}
#define MIX_TO_ROP4(mix)
Definition: eng.h:5
BOOL APIENTRY IntEngBitBlt(SURFOBJ *psoTrg, SURFOBJ *psoSrc, SURFOBJ *psoMask, CLIPOBJ *pco, XLATEOBJ *pxlo, RECTL *prclTrg, POINTL *pptlSrc, POINTL *pptlMask, BRUSHOBJ *pbo, POINTL *pptlBrush, ROP4 Rop4)
Definition: bitblt.c:656
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL _In_ MIX mix
Definition: winddi.h:3595
_In_ PATHOBJ _In_ CLIPOBJ _In_ BRUSHOBJ _In_ POINTL * pptlBrushOrg
Definition: winddi.h:3594
ULONG ROP4
Definition: winddi.h:128
#define NT_ASSERT
Definition: rtlfuncs.h:3327

Referenced by IntEngPaint().

◆ EngPlgBlt()

ENGAPI BOOL APIENTRY EngPlgBlt ( _In_ SURFOBJ psoTrg,
_In_ SURFOBJ psoSrc,
_In_opt_ SURFOBJ psoMsk,
_In_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ COLORADJUSTMENT pca,
_In_ POINTL pptlBrushOrg,
_In_ POINTFIX pptfx,
_In_ RECTL prcl,
_When_(psoMsk, _In_) POINTL pptl,
_In_ __in_data_source(USER_MODE) ULONG  iMode 
)

◆ EngProbeForRead()

ENGAPI VOID APIENTRY EngProbeForRead ( _In_reads_bytes_(Length) PVOID  Address,
_In_ SIZE_T  Length,
_In_ ULONG  Alignment 
)

◆ EngProbeForReadAndWrite()

ENGAPI VOID APIENTRY EngProbeForReadAndWrite ( _Inout_updates_bytes_(Length) PVOID  Address,
_In_ SIZE_T  Length,
_In_ ULONG  Alignment 
)

◆ EngQueryDeviceAttribute()

ENGAPI BOOL APIENTRY EngQueryDeviceAttribute ( _In_ HDEV  hdev,
_In_ ENG_DEVICE_ATTRIBUTE  devAttr,
_In_reads_bytes_(cjInSize) PVOID  pvIn,
_In_ ULONG  cjInSize,
_Out_writes_bytes_(cjOutSize) PVOID  pvOut,
_In_ ULONG  cjOutSize 
)

Exported functions

Definition at line 1112 of file pdevobj.c.

1119{
1120 PPDEVOBJ ppdev = (PPDEVOBJ)hdev;
1121
1122 if (devAttr != QDA_ACCELERATION_LEVEL)
1123 return FALSE;
1124
1125 if (cjOutSize >= sizeof(DWORD))
1126 {
1127 /* Set all Accelerations Level Key to enabled Full 0 to 5 turned off. */
1128 *(DWORD*)pvOut = ppdev->dwAccelerationLevel;
1129 return TRUE;
1130 }
1131
1132 return FALSE;
1133}
DWORD dwAccelerationLevel
Definition: pdevobj.h:132

◆ EngQueryEMFInfo()

DECLSPEC_DEPRECATED_DDK BOOL APIENTRY EngQueryEMFInfo ( _In_ HDEV  hdev,
_Out_ EMFINFO pEMFInfo 
)

◆ EngQueryFileTimeStamp()

ENGAPI LARGE_INTEGER APIENTRY EngQueryFileTimeStamp ( _In_ LPWSTR  pwsz)

◆ EngQueryLocalTime()

ENGAPI VOID APIENTRY EngQueryLocalTime ( _Out_ PENG_TIME_FIELDS  ptf)

Definition at line 264 of file stubs.c.

266{
267 LARGE_INTEGER liSystemTime, liLocalTime;
268 NT_ASSERT(ptf != NULL);
269
270 /* Query the system time */
271 KeQuerySystemTime(&liSystemTime);
272
273 /* Convert it to local time */
274 ExSystemTimeToLocalTime(&liSystemTime, &liLocalTime);
275
276 /* Convert the local time into time fields
277 (note that ENG_TIME_FIELDS is identical to TIME_FIELDS) */
278 RtlTimeToTimeFields(&liLocalTime, (PTIME_FIELDS)ptf);
279}
BOOLEAN RtlTimeToTimeFields(IN PLARGE_INTEGER Time, IN PTIME_FIELDS TimeFields)
#define KeQuerySystemTime(t)
Definition: env_spec_w32.h:570
#define ExSystemTimeToLocalTime(SysTime, LocTime)
Definition: env_spec_w32.h:729

◆ EngQueryPalette()

ENGAPI ULONG APIENTRY EngQueryPalette ( _In_ HPALETTE  hPal,
_Out_ ULONG piMode,
_In_ ULONG  cColors,
_Out_writes_opt_(cColors) ULONG pulColors 
)

◆ EngQueryPerformanceCounter()

ENGAPI VOID APIENTRY EngQueryPerformanceCounter ( _Out_ LONGLONG pPerformanceCount)

◆ EngQueryPerformanceFrequency()

ENGAPI VOID APIENTRY EngQueryPerformanceFrequency ( _Out_ LONGLONG pFrequency)

◆ EngReadStateEvent()

ENGAPI LONG APIENTRY EngReadStateEvent ( _In_ PEVENT  pEvent)

Definition at line 105 of file engevent.c.

107{
108 /* Read the event state */
109 return KeReadStateEvent(Event->pKEvent);
110}
LONG NTAPI KeReadStateEvent(IN PKEVENT Event)
Definition: eventobj.c:120

◆ EngRectInRgn()

ENGAPI BOOL APIENTRY EngRectInRgn ( _In_ HANDLE  hrgn,
_In_ LPRECT  prcl 
)

◆ EngReleaseFastMutex()

ENGAPI VOID APIENTRY EngReleaseFastMutex ( _In_ HFASTMUTEX  hfm)

◆ EngRenderHint()

ENGAPI VOID APIENTRY EngRenderHint ( _In_ DHPDEV  dhpdev,
_In_ ULONG  NotifyCode,
_In_ SIZE_T  Length,
_In_reads_bytes_opt_(Length) PVOID  Data 
)

◆ EngSecureMem()

ENGAPI HANDLE APIENTRY EngSecureMem ( _In_reads_bytes_(cjLength) PVOID  Address,
_In_ ULONG  cjLength 
)

Referenced by _Success_(), and EngMapSectionView().

◆ EngSetEvent()

ENGAPI LONG APIENTRY EngSetEvent ( _In_ PEVENT  pEvent)

Definition at line 94 of file engevent.c.

96{
97 /* Set the event */
98 return KeSetEvent(Event->pKEvent,
100 FALSE);
101}
#define KeSetEvent(pEvt, foo, foo2)
Definition: env_spec_w32.h:476
#define IO_NO_INCREMENT
Definition: iotypes.h:598

◆ EngSetLastError()

ENGAPI VOID APIENTRY EngSetLastError ( _In_ ULONG  iError)

Definition at line 22 of file error.c.

23{
24 PTEB pTeb = NtCurrentTeb();
25 if (pTeb)
26 pTeb->LastErrorValue = iError;
27}

Referenced by _Success_(), CheckWinstaAttributeAccess(), co_IntDoSendMessage(), co_IntGetScrollBarInfo(), co_IntGetScrollInfo(), co_IntRegisterLogonProcess(), co_IntSendMessageTimeout(), co_IntSendMessageTimeoutSingle(), co_IntSetParent(), co_IntSetScrollBarInfo(), co_IntSetScrollInfo(), co_IntSetWindowLongPtr(), co_MsqSendMessage(), co_UserCreateWindowEx(), co_UserDestroyWindow(), co_UserHideCaret(), co_UserSetParent(), co_UserShowCaret(), co_UserShowScrollBar(), co_WinPosSetWindowPos(), DCU_SetDcUndeletable(), DdAllocateObject(), DefSetText(), DefWndGetIcon(), DefWndSetIcon(), DIB_CreateDIBSection(), EngAlphaBlend(), EngEnumForms(), EngGetForm(), EngGetPrinter(), EngGetPrinterData(), EngGetPrinterDriver(), EngGetType1FontList(), EngSetPrinterData(), EngWritePrinter(), ftGdiGetGlyphOutline(), ftGdiGetRasterizerCaps(), ftGdiGetTextCharsetInfo(), ftGdiGetTextMetricsW(), GdiSelectVisRgn(), GreCreateDIBitmapInternal(), GreCreateFrameRgn(), GreCreatePolyPolygonRgn(), GreDPtoLP(), GreExtTextOutW(), GreGetBitmapDimension(), GreGetBkColor(), GreGetBkMode(), GreGetDCPoint(), GreGetDIBitsInternal(), GreGetGraphicsMode(), GreGetKerningPairs(), GreGetMapMode(), GreGetTextColor(), GreGetTextExtentExW(), GreGetTextExtentW(), GreGradientFill(), GreLPtoDP(), GreMoveTo(), GreSetBrushOrg(), GreSetViewportOrgEx(), GreStretchBltMask(), IntAddFormatedData(), IntAllowSetForegroundWindow(), IntArc(), IntBlockInput(), IntCheckProcessDesktopClasses(), IntCreateClass(), IntCreateCompatibleBitmap(), IntCreateCurIconHandle(), IntCreateWindow(), IntCreateWindowStation(), IntDeferWindowPos(), IntDestroyInputContext(), IntDispatchMessage(), IntEndDeferWindowPosEx(), IntExtTextOutW(), IntFillArc(), IntFillRect(), IntGdiDeleteColorSpace(), IntGdiDeleteDC(), IntGdiExtCreatePen(), IntGdiGetFontResourceInfo(), IntGdiLineTo(), IntGdiLoadFontsFromMemory(), IntGdiPolygon(), IntGdiPolyPatBlt(), IntGdiRealizePalette(), IntGdiSetBkColor(), IntGdiSetBkMode(), IntGdiSetHookFlags(), IntGdiSetTextAlign(), IntGdiSetTextColor(), IntGetClassForDesktop(), IntGetGlobalHookHandles(), IntGetHookObject(), IntGetSystemPaletteEntries(), intGetTitleBarInfo(), IntInsertMenuItem(), IntLoadSystenIcons(), IntLockSetForegroundWindow(), IntMapVirtualKeyEx(), IntMenuItemInfo(), IntNtUserSetClassLongPtr(), IntPolygon(), IntRegisterClassAtom(), IntRoundRect(), IntScrollWindowEx(), IntSetClassAtom(), IntSetClassMenuName(), IntSetCursorData(), IntSetDCBrushColor(), IntSetDCPenColor(), IntSetDIBits(), IntSetMenu(), IntSetMenuItemInfo(), IntSetOwner(), IntSetThreadDesktop(), IntSetTimer(), IntTrackPopupMenuEx(), IntUnhookWindowsHook(), IntUpdateLayeredWindowI(), IntValidateWindowStationHandle(), IntWinListChildren(), IntWinListOwnedPopups(), MENU_TrackMenu(), NEWco_IntGetScrollInfo(), NtGdiAbortPath(), NtGdiAlphaBlend(), NtGdiAngleArc(), NtGdiArcInternal(), NtGdiBeginPath(), NtGdiCloseFigure(), NtGdiCombineRgn(), NtGdiCreateBitmap(), NtGdiCreateCompatibleBitmap(), NtGdiCreateDIBBrush(), NtGdiCreateDIBitmapInternal(), NtGdiCreateDIBSection(), NtGdiCreateHalftonePalette(), NtGdiCreatePen(), NtGdiCreateRectRgn(), NtGdiDeleteObjectApp(), NtGdiEllipse(), NtGdiEndPath(), NtGdiEscape(), NtGdiExcludeClipRect(), NtGdiExtCreatePen(), NtGdiExtCreateRegion(), NtGdiExtEscape(), NtGdiExtFloodFill(), NtGdiExtSelectClipRgn(), NtGdiExtTextOutW(), NtGdiFillPath(), NtGdiFlattenPath(), NtGdiGetBitmapBits(), NtGdiGetCharABCWidthsW(), NtGdiGetCharSet(), NtGdiGetCharWidthW(), NtGdiGetDCDword(), NtGdiGetDCObject(), NtGdiGetDCPoint(), NtGdiGetDeviceCaps(), NtGdiGetDeviceGammaRamp(), NtGdiGetDeviceWidth(), NtGdiGetFontData(), NtGdiGetFontFamilyInfo(), NtGdiGetFontResourceInfoInternalW(), NtGdiGetFontUnicodeRanges(), NtGdiGetGlyphOutline(), NtGdiGetKerningPairs(), NtGdiGetNearestColor(), NtGdiGetOutlineTextMetricsInternalW(), NtGdiGetPath(), NtGdiGetPixel(), NtGdiGetRandomRgn(), NtGdiGetRealizationInfo(), NtGdiGetSpoolMessage(), NtGdiGetTextCharsetInfo(), NtGdiGetTextExtentExW(), NtGdiGetTextFaceW(), NtGdiGetTransform(), NtGdiGradientFill(), NtGdiInitSpool(), NtGdiIntersectClipRect(), NtGdiInvertRgn(), NtGdiLineTo(), NtGdiMaskBlt(), NtGdiMirrorWindowOrg(), NtGdiModifyWorldTransform(), NtGdiOffsetClipRgn(), NtGdiOffsetViewportOrgEx(), NtGdiOffsetWindowOrgEx(), NtGdiPatBlt(), NtGdiPathToRegion(), NtGdiPolyPatBlt(), NtGdiPolyPolyDraw(), NtGdiPtVisible(), NtGdiRectangle(), NtGdiRectVisible(), NtGdiRestoreDC(), NtGdiRoundRect(), NtGdiSaveDC(), NtGdiScaleViewportExtEx(), NtGdiScaleWindowExtEx(), NtGdiSelectClipPath(), NtGdiSetBitmapBits(), NtGdiSetBitmapDimension(), NtGdiSetColorSpace(), NtGdiSetDeviceGammaRamp(), NtGdiSetDIBitsToDeviceInternal(), NtGdiSetLayout(), NtGdiSetMetaRgn(), NtGdiSetMiterLimit(), NtGdiSetPixel(), NtGdiSetPixelFormat(), NtGdiSetTextJustification(), NtGdiSetViewportOrgEx(), NtGdiSetWindowOrgEx(), NtGdiStretchDIBitsInternal(), NtGdiStrokeAndFillPath(), NtGdiStrokePath(), NtGdiSwapBuffers(), NtGdiTransformPoints(), NtGdiTransparentBlt(), NtGdiUnloadPrinterDriver(), NtGdiUpdateColors(), NtGdiWidenPath(), NtUserAlterWindowStyle(), NtUserAttachThreadInput(), NtUserBuildHimcList(), NtUserCalcMenuBar(), NtUserCallNoParam(), NtUserCallOneParam(), NtUserCallTwoParam(), NtUserChangeDisplaySettings(), NtUserClipCursor(), NtUserCloseDesktop(), NtUserCreateCaret(), NtUserCreateInputContext(), NtUserCreateWindowEx(), NtUserDeferWindowPos(), NtUserDefSetText(), NtUserDestroyInputContext(), NtUserDestroyMenu(), NtUserDisableThreadIme(), NtUserDrawMenuBarTemp(), NtUserEnableScrollBar(), NtUserEnumDisplayMonitors(), NtUserFindWindowEx(), NtUserFlashWindowEx(), NtUserGetAppImeLevel(), NtUserGetAsyncKeyState(), NtUserGetClassInfo(), NtUserGetClipboardData(), NtUserGetClipboardFormatName(), NtUserGetComboBoxInfo(), NtUserGetCursorInfo(), NtUserGetGuiResources(), NtUserGetGUIThreadInfo(), NtUserGetKeyboardLayoutName(), NtUserGetKeyNameText(), NtUserGetMenuBarInfo(), NtUserGetMessage(), NtUserGetMouseMovePointsEx(), NtUserGetThreadDesktop(), NtUserGetTitleBarInfo(), NtUserGetUpdateRect(), NtUserGetWOWClass(), NtUserHiliteMenuItem(), NtUserInternalGetWindowText(), NtUserInvalidateRgn(), NtUserLoadKeyboardLayoutEx(), NtUserLockWindowStation(), NtUserMessageCall(), NtUserMinMaximize(), NtUserMonitorFromPoint(), NtUserMonitorFromRect(), NtUserMonitorFromWindow(), NtUserPaintMenuBar(), NtUserPeekMessage(), NtUserPrintWindow(), NtUserRedrawWindow(), NtUserRegisterClassExWOW(), NtUserRegisterHotKey(), NtUserRegisterUserApiHook(), NtUserRegisterWindowMessage(), NtUserSendInput(), NtUserSetAppImeLevel(), NtUserSetClipboardViewer(), NtUserSetCursor(), NtUserSetScrollBarInfo(), NtUserSetSysColors(), NtUserSetSystemCursor(), NtUserSetSystemMenu(), NtUserSetWindowFNID(), NtUserSetWindowLong(), NtUserSetWindowPlacement(), NtUserSetWindowsHookEx(), NtUserSetWindowStationUser(), NtUserSetWindowWord(), NtUserSetWinEventHook(), NtUserShowWindow(), NtUserShowWindowAsync(), NtUserTrackMouseEvent(), NtUserTrackPopupMenuEx(), NtUserUnlockWindowStation(), NtUserUpdateLayeredWindow(), NtUserValidateHandleSecure(), NtUserWaitForInputIdle(), PATH_CreatePath(), PATH_FillPathEx(), PATH_PathToRegion(), PATH_StrokePath(), PATH_WidenPath(), PATH_WidenPathEx(), SetLastNtError(), SpiGetSet(), SystemTimerSet(), UserClipCursor(), UserCloseClipboard(), UserDestroyMenu(), UserEmptyClipboard(), UserEnumClipboardFormats(), UserEnumDisplayDevices(), UserGetAccelObject(), UserGetClassName(), UserGetCurIconObject(), UserGetKeyState(), UserGetMenuObject(), UserGetMonitorObject(), UserGetObject(), UserGetWindowObject(), UserInsertMenuItem(), UserMenuInfo(), UserMenuItemInfo(), UserMonitorFromPoint(), UserMonitorFromRect(), UserOpenClipboard(), UserOpenInputDesktop(), UserPostMessage(), UserPostThreadMessage(), UserRegisterClass(), UserRegisterHotKey(), UserSendNotifyMessage(), UserSetClassLongPtr(), UserSetClipboardData(), UserSystemParametersInfo(), UserUnregisterClass(), UserUpdateUiState(), VerifyMenu(), and VerifyWnd().

◆ EngSetPointerShape()

ENGAPI ULONG APIENTRY EngSetPointerShape ( _In_ SURFOBJ pso,
_In_opt_ SURFOBJ psoMask,
_In_opt_ SURFOBJ psoColor,
_In_opt_ XLATEOBJ pxlo,
_In_ LONG  xHot,
_In_ LONG  yHot,
_In_ LONG  x,
_In_ LONG  y,
_In_ RECTL prcl,
_In_ FLONG  fl 
)

Definition at line 330 of file mouse.c.

341{
342 PDEVOBJ *ppdev;
343 GDIPOINTER *pgp;
344 LONG lDelta = 0;
345 HBITMAP hbmSave = NULL, hbmColor = NULL, hbmMask = NULL;
346 PSURFACE psurfSave = NULL, psurfColor = NULL, psurfMask = NULL;
347 RECTL rectl;
348 SIZEL sizel = {0, 0};
349
350 ASSERT(pso);
351
352 ppdev = GDIDEV(pso);
353 pgp = &ppdev->Pointer;
354
355 /* Handle the case where we have no XLATEOBJ */
356 if (pxlo == NULL)
358
359 /* Do we have any bitmap at all? */
360 if (psoColor || psoMask)
361 {
362 /* Get the size of the new pointer */
363 if (psoColor)
364 {
365 sizel.cx = psoColor->sizlBitmap.cx;
366 sizel.cy = psoColor->sizlBitmap.cy;
367 }
368 else// if (psoMask)
369 {
370 sizel.cx = psoMask->sizlBitmap.cx;
371 sizel.cy = psoMask->sizlBitmap.cy / 2;
372 }
373
374 rectl.left = 0;
375 rectl.top = 0;
376 rectl.right = sizel.cx;
377 rectl.bottom = sizel.cy;
378
379 /* Calculate lDelta for our surfaces. */
380 lDelta = WIDTH_BYTES_ALIGN32(sizel.cx,
381 BitsPerFormat(pso->iBitmapFormat));
382
383 /* Create a bitmap for saving the pixels under the cursor. */
384 hbmSave = EngCreateBitmap(sizel,
385 lDelta,
386 pso->iBitmapFormat,
388 NULL);
389 psurfSave = SURFACE_ShareLockSurface(hbmSave);
390 if (!psurfSave) goto failure;
391 }
392
393 if (psoColor)
394 {
395 if (fl & SPS_ALPHA)
396 {
397 /* Always store the alpha cursor in RGB. */
398 EXLATEOBJ exloSrcRGB;
399 PEXLATEOBJ pexlo;
400
401 pexlo = CONTAINING_RECORD(pxlo, EXLATEOBJ, xlo);
402 EXLATEOBJ_vInitialize(&exloSrcRGB, pexlo->ppalSrc, &gpalRGB, 0, 0, 0);
403
404 hbmColor = EngCreateBitmap(psoColor->sizlBitmap,
405 WIDTH_BYTES_ALIGN32(sizel.cx, 32),
406 BMF_32BPP,
408 NULL);
409 psurfColor = SURFACE_ShareLockSurface(hbmColor);
410 if (!psurfColor) goto failure;
411
412 /* Now copy the given bitmap. */
413 rectl.bottom = psoColor->sizlBitmap.cy;
414 IntEngCopyBits(&psurfColor->SurfObj,
415 psoColor,
416 NULL,
417 &exloSrcRGB.xlo,
418 &rectl,
419 (POINTL*)&rectl);
420
421 EXLATEOBJ_vCleanup(&exloSrcRGB);
422 }
423 else
424 {
425 /* Color bitmap must have the same format as the dest surface */
426 if (psoColor->iBitmapFormat != pso->iBitmapFormat)
427 {
428 DPRINT1("Screen surface and cursor color bitmap format don't match!.\n");
429 goto failure;
430 }
431
432 /* Create a bitmap to copy the color bitmap to */
433 hbmColor = EngCreateBitmap(psoColor->sizlBitmap,
434 lDelta,
435 pso->iBitmapFormat,
437 NULL);
438 psurfColor = SURFACE_ShareLockSurface(hbmColor);
439 if (!psurfColor) goto failure;
440
441 /* Now copy the given bitmap. */
442 rectl.bottom = psoColor->sizlBitmap.cy;
443 IntEngCopyBits(&psurfColor->SurfObj,
444 psoColor,
445 NULL,
446 pxlo,
447 &rectl,
448 (POINTL*)&rectl);
449 }
450
451 }
452
453 /* Create a mask surface */
454 if (psoMask)
455 {
456 EXLATEOBJ exlo;
457 PPALETTE ppal;
458
459 lDelta = WIDTH_BYTES_ALIGN32(sizel.cx, BitsPerFormat(pso->iBitmapFormat));
460
461 /* Create a bitmap for the mask */
462 hbmMask = EngCreateBitmap(psoMask->sizlBitmap,
463 lDelta,
464 pso->iBitmapFormat,
466 NULL);
467 psurfMask = SURFACE_ShareLockSurface(hbmMask);
468 if (!psurfMask) goto failure;
469
470 /* Initialize an EXLATEOBJ */
473 gppalMono,
474 ppal,
475 0,
476 RGB(0xff,0xff,0xff),
477 RGB(0,0,0));
478
479 /* Copy the mask bitmap */
480 rectl.bottom = psoMask->sizlBitmap.cy;
481 IntEngCopyBits(&psurfMask->SurfObj,
482 psoMask,
483 NULL,
484 &exlo.xlo,
485 &rectl,
486 (POINTL*)&rectl);
487
488 /* Cleanup */
489 EXLATEOBJ_vCleanup(&exlo);
490 if (ppal) PALETTE_ShareUnlockPalette(ppal);
491 }
492
493 /* Hide mouse pointer */
494 IntHideMousePointer(ppdev, pso);
495
496 /* Free old color bitmap */
497 if (pgp->psurfColor)
498 {
501 pgp->psurfColor = NULL;
502 }
503
504 /* Free old mask bitmap */
505 if (pgp->psurfMask)
506 {
509 pgp->psurfMask = NULL;
510 }
511
512 /* Free old save bitmap */
513 if (pgp->psurfSave)
514 {
517 pgp->psurfSave = NULL;
518 }
519
520 /* See if we are being asked to hide the pointer. */
521 if (psoMask == NULL && psoColor == NULL)
522 {
523 /* We're done */
525 }
526
527 /* Now set the new cursor */
528 pgp->psurfColor = psurfColor;
529 pgp->psurfMask = psurfMask;
530 pgp->psurfSave = psurfSave;
531 pgp->HotSpot.x = xHot;
532 pgp->HotSpot.y = yHot;
533 pgp->Size = sizel;
534 pgp->flags = fl;
535
536 if (x != -1)
537 {
538 ppdev->ptlPointer.x = x;
539 ppdev->ptlPointer.y = y;
540
541 IntShowMousePointer(ppdev, pso);
542
543 if (prcl != NULL)
544 {
545 prcl->left = x - pgp->HotSpot.x;
546 prcl->top = y - pgp->HotSpot.x;
547 prcl->right = prcl->left + pgp->Size.cx;
548 prcl->bottom = prcl->top + pgp->Size.cy;
549 }
550 }
551 else if (prcl != NULL)
552 {
553 prcl->left = prcl->top = prcl->right = prcl->bottom = -1;
554 }
555
557
558failure:
559 /* Cleanup surfaces */
560 if (hbmMask) EngDeleteSurface((HSURF)hbmMask);
561 if (psurfMask) SURFACE_ShareUnlockSurface(psurfMask);
562 if (hbmColor) EngDeleteSurface((HSURF)hbmColor);
563 if (psurfColor) SURFACE_ShareUnlockSurface(psurfColor);
564 if (hbmSave) EngDeleteSurface((HSURF)hbmSave);
565 if (psurfSave) SURFACE_ShareUnlockSurface(psurfSave);
566
567 return SPS_ERROR;
568}
BOOL APIENTRY IntEngCopyBits(SURFOBJ *psoTrg, SURFOBJ *psoSrc, CLIPOBJ *pco, XLATEOBJ *pxlo, RECTL *prclTrg, POINTL *pptlSrc)
Definition: bitblt_new.c:678
#define RGB(r, g, b)
Definition: precomp.h:71
XLATEOBJ xlo
Definition: xlateobj.h:21
PPALETTE ppalSrc
Definition: xlateobj.h:25
FLONG flags
Definition: pdevobj.h:36
SURFACE * psurfColor
Definition: pdevobj.h:33
SURFACE * psurfMask
Definition: pdevobj.h:34
SURFACE * psurfSave
Definition: pdevobj.h:35
#define WIDTH_BYTES_ALIGN32(cx, bpp)
Definition: swimpl.c:16
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _Reserved_ XLATEOBJ _In_ FLONG fl
Definition: mouse.c:27
#define BitsPerFormat(Format)
Definition: surface.h:109
PALETTE * gppalMono
Definition: palette.c:20
PALETTE gpalRGB
Definition: palette.c:20
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
Definition: surface.c:567
_In_ FLONG fl
Definition: winddi.h:1279
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG xHot
Definition: winddi.h:4052
ENGAPI HBITMAP APIENTRY EngCreateBitmap(_In_ SIZEL sizl, _In_ LONG lWidth, _In_ ULONG iFormat, _In_ FLONG fl, _In_opt_ PVOID pvBits)
_In_opt_ SURFOBJ _In_opt_ SURFOBJ _In_ XLATEOBJ _In_ LONG _In_ LONG yHot
Definition: winddi.h:4053
#define SPS_ACCEPT_NOEXCLUDE
Definition: winddi.h:4030
#define SPS_ALPHA
Definition: winddi.h:4039
#define BMF_32BPP
Definition: winddi.h:360
_In_opt_ SURFOBJ _In_opt_ SURFOBJ * psoColor
Definition: winddi.h:4050
#define BMF_NOZEROINIT
Definition: winddi.h:1181
#define SPS_ERROR
Definition: winddi.h:4028
VOID NTAPI EXLATEOBJ_vInitialize(_Out_ PEXLATEOBJ pexlo, _In_opt_ PALETTE *ppalSrc, _In_opt_ PALETTE *ppalDst, _In_ COLORREF crSrcBackColor, _In_ COLORREF crDstBackColor, _In_ COLORREF crDstForeColor)
Definition: xlateobj.c:358
VOID NTAPI EXLATEOBJ_vCleanup(_Inout_ PEXLATEOBJ pexlo)
Definition: xlateobj.c:649
EXLATEOBJ gexloTrivial

Referenced by DrvSetPointerShape(), and IntEngSetPointerShape().

◆ EngSetPrinterData()

ENGAPI DWORD APIENTRY EngSetPrinterData ( _In_ HANDLE  hPrinter,
_In_ LPWSTR  pType,
_In_ DWORD  dwType,
_In_reads_bytes_(cjPrinterData) LPBYTE  lpbPrinterData,
_In_ DWORD  cjPrinterData 
)

◆ EngSetRectRgn()

ENGAPI BOOL APIENTRY EngSetRectRgn ( _In_ HANDLE  hrgn,
_In_ INT  left,
_In_ INT  top,
_In_ INT  right,
_In_ INT  bottom 
)

◆ EngSort()

ENGAPI VOID APIENTRY EngSort ( _Inout_updates_bytes_(c *cjElem) PBYTE  pjBuf,
_In_ ULONG  c,
_In_ ULONG  cjElem,
_In_ SORTCOMP  pfnComp 
)

Referenced by CLIPOBJ_cEnumStart().

◆ EngStretchBlt()

ENGAPI BOOL APIENTRY EngStretchBlt ( _In_ SURFOBJ psoDest,
_In_ SURFOBJ psoSrc,
_In_opt_ SURFOBJ psoMask,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_opt_ COLORADJUSTMENT pca,
_In_ POINTL pptlHTOrg,
_In_ RECTL prclDest,
_In_ RECTL prclSrc,
_When_(psoMask, _In_) POINTL pptlMask,
_In_ ULONG  iMode 
)

◆ EngStretchBltROP()

ENGAPI BOOL APIENTRY EngStretchBltROP ( _In_ SURFOBJ psoDest,
_In_ SURFOBJ psoSrc,
_In_opt_ SURFOBJ psoMask,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_opt_ COLORADJUSTMENT pca,
_In_ POINTL pptlHTOrg,
_In_ RECTL prclDest,
_In_ RECTL prclSrc,
_When_(psoMask, _In_) POINTL pptlMask,
_In_ ULONG  iMode,
_In_opt_ BRUSHOBJ pbo,
_In_ DWORD  rop4 
)

◆ EngStrokeAndFillPath()

ENGAPI BOOL APIENTRY EngStrokeAndFillPath ( _Inout_ SURFOBJ pso,
_In_ PATHOBJ ppo,
_In_ CLIPOBJ pco,
_In_ XFORMOBJ pxo,
_In_ BRUSHOBJ pboStroke,
_In_ LINEATTRS plineattrs,
_In_ BRUSHOBJ pboFill,
_In_ POINTL pptlBrushOrg,
_In_ __in_data_source(USER_MODE) MIX  mixFill,
_In_ __in_data_source(USER_MODE) FLONG  flOptions 
)

◆ EngStrokePath()

ENGAPI BOOL APIENTRY EngStrokePath ( _In_ SURFOBJ pso,
_In_ PATHOBJ ppo,
_In_ CLIPOBJ pco,
_In_ XFORMOBJ pxo,
_In_ BRUSHOBJ pbo,
_In_ POINTL pptlBrushOrg,
_In_ LINEATTRS plineattrs,
_In_ MIX  mix 
)

◆ EngSubtractRgn()

ENGAPI INT APIENTRY EngSubtractRgn ( _In_ HANDLE  hrgnResult,
_In_ HANDLE  hRgnA,
_In_ HANDLE  hRgnB 
)

◆ EngTextOut()

ENGAPI BOOL APIENTRY EngTextOut ( _In_ SURFOBJ pso,
_In_ STROBJ pstro,
_In_ FONTOBJ pfo,
_In_ CLIPOBJ pco,
_Null_ RECTL prclExtra,
_In_opt_ RECTL prclOpaque,
_In_ BRUSHOBJ pboFore,
_In_ BRUSHOBJ pboOpaque,
_In_ POINTL pptlOrg,
_In_ MIX  mix 
)

◆ EngTransparentBlt()

ENGAPI BOOL APIENTRY EngTransparentBlt ( _In_ SURFOBJ psoDst,
_In_ SURFOBJ psoSrc,
_In_opt_ CLIPOBJ pco,
_In_opt_ XLATEOBJ pxlo,
_In_ RECTL prclDst,
_In_ RECTL prclSrc,
_In_ ULONG  iTransColor,
_In_ ULONG  ulReserved 
)

◆ EngUnicodeToMultiByteN()

ENGAPI VOID APIENTRY EngUnicodeToMultiByteN ( _Out_writes_bytes_to_(cjMultiByteBuf, *pcjMultiByteString) PCHAR  pchMultiByteString,
_In_ ULONG  cjMultiByteBuf,
_Out_opt_ PULONG  pcjMultiByteString,
_In_reads_bytes_(cjUnicodeString) PWSTR  pwszUnicodeString,
_In_ ULONG  cjUnicodeString 
)

◆ EngUnionRgn()

ENGAPI INT APIENTRY EngUnionRgn ( _In_ HANDLE  hrgnResult,
_In_ HANDLE  hRgnA,
_In_ HANDLE  hRgnB 
)

◆ EngUnloadImage()

ENGAPI VOID APIENTRY EngUnloadImage ( _In_ HANDLE  hModule)

Definition at line 913 of file ldevobj.c.

915{
916 PLDEVOBJ pldev = (PLDEVOBJ)hModule;
917
918 /* Make sure the LDEV is in the list */
919 ASSERT((pldev->leLink.Flink != NULL) && (pldev->leLink.Blink != NULL));
920
922}
static VOID LDEVOBJ_vDereference(_Inout_ PLDEVOBJ pldev)
Definition: ldevobj.c:470
LIST_ENTRY leLink
Definition: ldevobj.h:18
struct _LIST_ENTRY * Blink
Definition: typedefs.h:122

Referenced by DxDdStartupDxGraphics(), PDEVOBJ_Create(), PDEVOBJ_vRelease(), UnloadKbdFile(), and UserLoadKbdDll().

◆ EngUnlockDirectDrawSurface()

ENGAPI BOOL APIENTRY EngUnlockDirectDrawSurface ( _In_ PDD_SURFACE_LOCAL  pSurface)

◆ EngUnlockDriverObj()

ENGAPI BOOL APIENTRY EngUnlockDriverObj ( _In_ _Post_ptr_invalid_ HDRVOBJ  hdo)

Definition at line 129 of file driverobj.c.

131{
132 PEDRIVEROBJ pedo;
134
135 /* First lock to get a pointer to the object */
136 pedo = DRIVEROBJ_TryLockObject(hdo);
137 if(!pedo)
138 {
139 /* Object could not be locked, fail. */
140 return FALSE;
141 }
142
143 /* Unlock object */
146
147 /* Check if we still hold a lock */
148 if (cLocks < 2)
149 {
150 /* Object wasn't locked before, fail. */
151 return FALSE;
152 }
153
154 /* Unlock again */
156
157 /* Success */
158 return TRUE;
159}
static LONG cLocks
Definition: compobj.c:119
USHORT cExclusiveLock
Definition: gdiobj.h:45

◆ EngUnlockSurface()

◆ EngUnmapEvent()

ENGAPI BOOL APIENTRY EngUnmapEvent ( _In_ PEVENT  pEvent)

Definition at line 163 of file engevent.c.

165{
166 /* Must be a usermapped event */
167 if (!(Event->fFlags & ENG_EVENT_USERMAPPED)) return FALSE;
168
169 /* Dereference the object, destroying it */
170 ObDereferenceObject(Event->pKEvent);
171
172 /* Free the Eng object */
174 return TRUE;
175}

◆ EngUnmapFile()

ENGAPI BOOL APIENTRY EngUnmapFile ( _In_ ULONG_PTR  iFile)

Definition at line 538 of file mapping.c.

540{
542
544
545 return TRUE;
546}
PVOID HANDLE
Definition: typedefs.h:73
VOID APIENTRY EngFreeModule(_In_ _Post_invalid_ HANDLE h)
Definition: mapping.c:482

◆ EngUnmapFontFileFD()

ENGAPI VOID APIENTRY EngUnmapFontFileFD ( _In_ ULONG_PTR  iFile)

Definition at line 564 of file mapping.c.

566{
567 // http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
569}

Referenced by BmfdLoadFontFile(), BmfdUnloadFontFile(), EngUnmapFontFile(), FtfdLoadFontFile(), and FtfdUnloadFontFile().

◆ EngUnsecureMem()

ENGAPI VOID APIENTRY EngUnsecureMem ( _In_ HANDLE  hSecure)

Referenced by _Success_(), and EngUnmapSectionView().

◆ EngUpdateDeviceSurface()

ENGAPI BOOL APIENTRY EngUpdateDeviceSurface ( _In_ SURFOBJ pso,
_Inout_ CLIPOBJ **  ppco 
)

◆ EngWaitForSingleObject()

ENGAPI BOOL APIENTRY EngWaitForSingleObject ( _In_ PEVENT  pEvent,
_In_opt_ PLARGE_INTEGER  pTimeOut 
)

Definition at line 179 of file engevent.c.

182{
184 DPRINT("EngWaitForSingleObject(%p %I64d)\n", Event, TimeOut->QuadPart);
185
186 /* Validate parameters */
187 if (!Event) return FALSE;
188
189 /* Check if it's a usermapped event and fail in that case */
190 if (Event->fFlags & ENG_EVENT_USERMAPPED)
191 {
192 /* Disallow deletion of usermapped events */
193 DPRINT1("Driver attempted to wait on a usermapped event!\n");
194 return FALSE;
195 }
196
197 /* Wait for the event */
199 Executive,
201 FALSE,
202 TimeOut);
203
204 /* Check if there is a failure or a timeout */
205 return NT_SUCCESS(Status);
206}
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
Definition: env_spec_w32.h:478
#define KernelMode
Definition: asm.h:34
@ Executive
Definition: ketypes.h:415

◆ EngWideCharToMultiByte()

ENGAPI INT APIENTRY EngWideCharToMultiByte ( _In_ UINT  CodePage,
_In_reads_bytes_opt_(cjWideCharString) LPWSTR  pwszWideCharString,
_In_ INT  cjWideCharString,
_Out_z_bytecap_(cjMultiByteString) LPSTR  pszMultiByteString,
_In_ INT  cjMultiByteString 
)

◆ EngWritePrinter()

ENGAPI BOOL APIENTRY EngWritePrinter ( _In_ HANDLE  hPrinter,
_In_reads_bytes_(cjBuf) LPVOID  pvBuf,
_In_ DWORD  cjBuf,
_Out_ LPDWORD  pcWritten 
)

◆ EngXorRgn()

ENGAPI INT APIENTRY EngXorRgn ( _In_ HANDLE  hrgnResult,
_In_ HANDLE  hRgnA,
_In_ HANDLE  hRgnB 
)

◆ FONTOBJ_cGetAllGlyphHandles()

ENGAPI ULONG APIENTRY FONTOBJ_cGetAllGlyphHandles ( _In_ FONTOBJ pfo,
_Out_opt_ HGLYPH phg 
)

◆ FONTOBJ_cGetGlyphs()

ENGAPI ULONG APIENTRY FONTOBJ_cGetGlyphs ( _In_ FONTOBJ pfo,
_In_ ULONG  iMode,
_In_ ULONG  cGlyph,
_In_count_(cGlyph) HGLYPH phg,
_Out_ PVOID ppvGlyph 
)

◆ FONTOBJ_pfdg()

ENGAPI FD_GLYPHSET *APIENTRY FONTOBJ_pfdg ( _In_ FONTOBJ pfo)

◆ FONTOBJ_pGetGammaTables()

GAMMA_TABLES *APIENTRY FONTOBJ_pGetGammaTables ( _In_ FONTOBJ pfo)

◆ FONTOBJ_pifi()

ENGAPI IFIMETRICS *APIENTRY FONTOBJ_pifi ( _In_ FONTOBJ pfo)

◆ FONTOBJ_pjOpenTypeTablePointer()

_Ret_opt_bytecount_ pcjTable ENGAPI PBYTE APIENTRY FONTOBJ_pjOpenTypeTablePointer ( _In_ FONTOBJ pfo,
_In_ ULONG  ulTag,
_Out_ ULONG pcjTable 
)

Definition at line 612 of file stubs.c.

616{
618 return NULL;
619}

◆ FONTOBJ_pQueryGlyphAttrs()

ENGAPI PFD_GLYPHATTR APIENTRY FONTOBJ_pQueryGlyphAttrs ( _In_ FONTOBJ pfo,
_In_ ULONG  iMode 
)

◆ FONTOBJ_pvTrueTypeFontFile()

_Ret_opt_bytecount_ pcjFile ENGAPI PVOID APIENTRY FONTOBJ_pvTrueTypeFontFile ( _In_ FONTOBJ pfo,
_Out_ ULONG pcjFile 
)

Definition at line 418 of file stubs.c.

421{
423 return NULL;
424}

◆ FONTOBJ_pwszFontFilePaths()

ENGAPI LPWSTR APIENTRY FONTOBJ_pwszFontFilePaths ( _In_ FONTOBJ pfo,
_Out_ ULONG pcwc 
)

◆ FONTOBJ_pxoGetXform()

ENGAPI XFORMOBJ *APIENTRY FONTOBJ_pxoGetXform ( _In_ FONTOBJ pfo)

Referenced by BmfdGetFontInstance().

◆ FONTOBJ_vGetInfo()

ENGAPI VOID APIENTRY FONTOBJ_vGetInfo ( _In_ FONTOBJ pfo,
_In_ ULONG  cjSize,
_Out_bytecap_(cjSize) FONTINFO pfi 
)

◆ HANDLE()

typedef HANDLE ( APIENTRY  FN_DrvIcmCreateColorTransform)

◆ HBITMAP()

typedef HBITMAP ( APIENTRY  FN_DrvCreateDeviceBitmap)

◆ HSURF()

◆ HT_ComputeRGBGammaTable()

ENGAPI LONG APIENTRY HT_ComputeRGBGammaTable ( _In_ USHORT  GammaTableEntries,
_In_ USHORT  GammaTableType,
_In_ USHORT  RedGamma,
_In_ USHORT  GreenGamma,
_In_ USHORT  BlueGamma,
_Out_writes_bytes_(GammaTableEntries *3) LPBYTE  pGammaTable 
)

◆ HT_Get8BPPFormatPalette()

ENGAPI LONG APIENTRY HT_Get8BPPFormatPalette ( _Out_opt_ LPPALETTEENTRY  pPaletteEntry,
_In_ USHORT  RedGamma,
_In_ USHORT  GreenGamma,
_In_ USHORT  BlueGamma 
)

◆ HT_Get8BPPMaskPalette()

ENGAPI LONG APIENTRY HT_Get8BPPMaskPalette ( _Out_opt_ LPPALETTEENTRY  pPaletteEntry,
_In_ BOOL  Use8BPPMaskPal,
_In_ BYTE  CMYMask,
_In_ USHORT  RedGamma,
_In_ USHORT  GreenGamma,
_In_ USHORT  BlueGamma 
)

◆ HTUI_DeviceColorAdjustment()

ENGAPI LONG APIENTRY HTUI_DeviceColorAdjustment ( _In_ LPSTR  pDeviceName,
_Out_ PDEVHTADJDATA  pDevHTAdjData 
)

◆ int()

typedef int ( __cdecl SORTCOMP) const

◆ INT()

typedef INT ( APIENTRY  FN_EngCombineRgn)

◆ LONG()

typedef LONG ( APIENTRY  FN_DrvDescribePixelFormat)

◆ PALOBJ_cGetColors()

ENGAPI ULONG APIENTRY PALOBJ_cGetColors ( _In_ PALOBJ ppalo,
_In_ ULONG  iStart,
_In_ ULONG  cColors,
_Out_writes_(cColors) ULONG pulColors 
)

Referenced by DrvSetPalette().

◆ PATHOBJ_bCloseFigure()

ENGAPI BOOL APIENTRY PATHOBJ_bCloseFigure ( _In_ PATHOBJ ppo)

◆ PATHOBJ_bEnum()

ENGAPI BOOL APIENTRY PATHOBJ_bEnum ( _In_ PATHOBJ ppo,
_Out_ PATHDATA ppd 
)

◆ PATHOBJ_bEnumClipLines()

ENGAPI BOOL APIENTRY PATHOBJ_bEnumClipLines ( _In_ PATHOBJ ppo,
_In_ ULONG  cj,
_Out_bytecap_(cj) CLIPLINE pcl 
)

◆ PATHOBJ_bMoveTo()

ENGAPI BOOL APIENTRY PATHOBJ_bMoveTo ( _In_ PATHOBJ ppo,
_In_ POINTFIX  ptfx 
)

◆ PATHOBJ_bPolyBezierTo()

ENGAPI BOOL APIENTRY PATHOBJ_bPolyBezierTo ( _In_ PATHOBJ ppo,
_In_count_(cptfx) POINTFIX pptfx,
_In_ ULONG  cptfx 
)

◆ PATHOBJ_bPolyLineTo()

ENGAPI BOOL APIENTRY PATHOBJ_bPolyLineTo ( _In_ PATHOBJ ppo,
_In_count_(cptfx) POINTFIX pptfx,
_In_ ULONG  cptfx 
)

◆ PATHOBJ_vEnumStart()

ENGAPI VOID APIENTRY PATHOBJ_vEnumStart ( _Inout_ PATHOBJ ppo)

◆ PATHOBJ_vEnumStartClipLines()

ENGAPI VOID APIENTRY PATHOBJ_vEnumStartClipLines ( _Inout_ PATHOBJ ppo,
_In_ CLIPOBJ pco,
_In_ SURFOBJ pso,
_In_ LINEATTRS pla 
)

◆ PATHOBJ_vGetBounds()

ENGAPI VOID APIENTRY PATHOBJ_vGetBounds ( _In_ PATHOBJ ppo,
_Out_ PRECTFX  prectfx 
)

◆ pBuffer()

_Check_return_ _Kernel_float_saved_ _At_ * pBuffer ( EngFloatState  )

◆ PFD_GLYPHATTR()

typedef PFD_GLYPHATTR ( APIENTRY  FN_DrvQueryGlyphAttrs)

◆ PIFIMETRICS()

typedef PIFIMETRICS ( APIENTRY  FN_DrvQueryFont)

◆ PVOID()

typedef PVOID ( APIENTRY  FN_DrvGetTrueTypeFile)

◆ STROBJ_bEnum()

ENGAPI BOOL APIENTRY STROBJ_bEnum ( _Inout_ STROBJ pstro,
_Out_ ULONG pc,
_Out_ PGLYPHPOS ppgpos 
)

◆ STROBJ_bEnumPositionsOnly()

ENGAPI BOOL APIENTRY STROBJ_bEnumPositionsOnly ( _In_ STROBJ pstro,
_Out_ ULONG pc,
_Out_ PGLYPHPOS ppgpos 
)

◆ STROBJ_bGetAdvanceWidths()

ENGAPI BOOL APIENTRY STROBJ_bGetAdvanceWidths ( _In_ STROBJ pso,
_In_ ULONG  iFirst,
_In_ ULONG  c,
_Out_cap_(c) POINTQF pptqD 
)

◆ STROBJ_dwGetCodePage()

ENGAPI DWORD APIENTRY STROBJ_dwGetCodePage ( _In_ STROBJ pstro)

◆ STROBJ_fxBreakExtra()

ENGAPI FIX APIENTRY STROBJ_fxBreakExtra ( _In_ STROBJ pstro)

◆ STROBJ_fxCharacterExtra()

ENGAPI FIX APIENTRY STROBJ_fxCharacterExtra ( _In_ STROBJ pstro)

◆ STROBJ_vEnumStart()

ENGAPI VOID APIENTRY STROBJ_vEnumStart ( _Inout_ STROBJ pstro)

◆ ULONG()

typedef ULONG ( APIENTRY  FN_DrvDitherColor)

◆ ULONG_PTR()

typedef ULONG_PTR ( APIENTRY  FN_DrvLoadFontFile)

◆ VOID() [1/2]

typedef VOID ( APIENTRY CALLBACK WNDOBJCHANGEPROC)

◆ VOID() [2/2]

typedef VOID ( APIENTRY  FN_DrvCompletePDEV)

◆ WNDOBJ_bEnum()

ENGAPI BOOL APIENTRY WNDOBJ_bEnum ( _Inout_ WNDOBJ pwo,
_In_ ULONG  cj,
_Out_bytecap_(cj) ULONG pul 
)

◆ WNDOBJ_cEnumStart()

ENGAPI ULONG APIENTRY WNDOBJ_cEnumStart ( _Inout_ WNDOBJ pwo,
_In_ ULONG  iType,
_In_ ULONG  iDirection,
_In_ ULONG  cLimit 
)

◆ WNDOBJ_vSetConsumer()

ENGAPI VOID APIENTRY WNDOBJ_vSetConsumer ( _Inout_ WNDOBJ pwo,
_In_ PVOID  pvConsumer 
)

◆ XFORMOBJ_bApplyXform()

ENGAPI BOOL APIENTRY XFORMOBJ_bApplyXform ( _In_ XFORMOBJ pxo,
_In_ ULONG  iMode,
_In_ ULONG  cPoints,
_In_reads_bytes_(cPoints *sizeof(POINTL)) PVOID  pvIn,
_Out_writes_bytes_(cPoints *sizeof(POINTL)) PVOID  pvOut 
)

◆ XFORMOBJ_cmGetTransform()

DECLSPEC_DEPRECATED_DDK ENGAPI HANDLE APIENTRY XFORMOBJ_cmGetTransform ( XFORMOBJ pxo)

◆ XFORMOBJ_iGetFloatObjXform()

ENGAPI ULONG APIENTRY XFORMOBJ_iGetFloatObjXform ( _In_ XFORMOBJ pxo,
_Out_ FLOATOBJ_XFORM pxfo 
)

◆ XFORMOBJ_iGetXform()

ENGAPI ULONG APIENTRY XFORMOBJ_iGetXform ( _In_ XFORMOBJ pxo,
_Out_ XFORML pxform 
)

◆ XLATEOBJ_cGetPalette()

ENGAPI ULONG APIENTRY XLATEOBJ_cGetPalette ( _In_ XLATEOBJ pxlo,
_In_ ULONG  iPal,
_In_ ULONG  cPal,
_Out_cap_(cPal) ULONG pPal 
)

Definition at line 679 of file xlateobj.c.

684{
685 PEXLATEOBJ pexlo = (PEXLATEOBJ)pxlo;
686 PPALETTE ppal;
687 ULONG i;
688
689 if (!pxlo)
690 {
691 return 0;
692 }
693
694 if (iPal > 5)
695 {
696 DPRINT1("XLATEOBJ_cGetPalette called with wrong iPal: %lu\n", iPal);
697 return 0;
698 }
699
700 /* Get the requested palette */
701 if (iPal == XO_DESTDCPALETTE)
702 {
703 ppal = pexlo->ppalDstDc;
704 }
705 else if (iPal == XO_SRCPALETTE || iPal == XO_SRCBITFIELDS)
706 {
707 ppal = pexlo->ppalSrc;
708 }
709 else
710 {
711 ppal = pexlo->ppalDst;
712 }
713
714 /* Verify palette type match */
715 if (!ppal ||
716 ((iPal == XO_SRCPALETTE || iPal == XO_DESTPALETTE)
717 && !(ppal->flFlags & PAL_INDEXED)) ||
718 ((iPal == XO_SRCBITFIELDS || iPal == XO_DESTBITFIELDS)
719 && !(ppal->flFlags & PAL_BITFIELDS)))
720 {
721 return 0;
722 }
723
724 if(!pPalOut)
725 {
726 return ppal->NumColors;
727 }
728
729 /* Copy the values into the buffer */
730 if (ppal->flFlags & PAL_INDEXED)
731 {
732 cPal = min(cPal, ppal->NumColors);
733 for (i = 0; i < cPal; i++)
734 {
735 pPalOut[i] = RGB(ppal->IndexedColors[i].peRed,
736 ppal->IndexedColors[i].peGreen,
737 ppal->IndexedColors[i].peBlue);
738 }
739 }
740 else
741 {
742 // FIXME: should use the above code
743 pPalOut[0] = ppal->RedMask;
744 pPalOut[1] = ppal->GreenMask;
745 pPalOut[2] = ppal->BlueMask;
746 }
747
748 return cPal;
749}
PPALETTE ppalDst
Definition: xlateobj.h:26
PPALETTE ppalDstDc
Definition: xlateobj.h:27
ULONG BlueMask
Definition: palette.h:45
ULONG GreenMask
Definition: palette.h:44
ULONG NumColors
Definition: palette.h:41
PALETTEENTRY * IndexedColors
Definition: palette.h:42
FLONG flFlags
Definition: palette.h:40
ULONG RedMask
Definition: palette.h:43
#define XO_SRCPALETTE
Definition: winddi.h:3151
#define PAL_BITFIELDS
Definition: winddi.h:1562
#define XO_DESTBITFIELDS
Definition: winddi.h:3155
#define PAL_INDEXED
Definition: winddi.h:1561
#define XO_SRCBITFIELDS
Definition: winddi.h:3154
#define XO_DESTPALETTE
Definition: winddi.h:3152
#define XO_DESTDCPALETTE
Definition: winddi.h:3153
struct _EXLATEOBJ * PEXLATEOBJ

◆ XLATEOBJ_hGetColorTransform()

ENGAPI HANDLE APIENTRY XLATEOBJ_hGetColorTransform ( _In_ XLATEOBJ pxlo)

Definition at line 753 of file xlateobj.c.

755{
756 PEXLATEOBJ pexlo = (PEXLATEOBJ)pxlo;
757 return pexlo->hColorTransform;
758}
HANDLE hColorTransform
Definition: xlateobj.h:29

◆ XLATEOBJ_iXlate()

◆ XLATEOBJ_piVector()

ENGAPI ULONG *APIENTRY XLATEOBJ_piVector ( _In_ XLATEOBJ pxlo)

Definition at line 762 of file xlateobj.c.

764{
765 if (pxlo->iSrcType == PAL_INDEXED)
766 {
767 return pxlo->pulXlate;
768 }
769
770 return NULL;
771}

Variable Documentation

◆ cChars

_In_ INT _In_ INT cChars

Definition at line 1486 of file winddi.h.

◆ cjInBufferSize

_In_ DWORD _In_ DWORD cjInBufferSize

Definition at line 1702 of file winddi.h.

Referenced by _Success_().

◆ cjMemSize

Definition at line 1381 of file winddi.h.

Referenced by _Ret_opt_bytecap_(), and _Ret_opt_bytecount_().

◆ cjOutBufferSize

_In_ DWORD _In_ DWORD _In_ DWORD cjOutBufferSize

Definition at line 1704 of file winddi.h.

Referenced by _Success_().

◆ DrvAccumulateD3DDirtyRect

FN_DrvAccumulateD3DDirtyRect DrvAccumulateD3DDirtyRect
extern

◆ DrvAlphaBlend

FN_DrvAlphaBlend DrvAlphaBlend
extern

◆ DrvAssertMode

FN_DrvAssertMode DrvAssertMode
extern

◆ DrvAssociateSharedSurface

FN_DrvAssociateSharedSurface DrvAssociateSharedSurface
extern

◆ DrvBitBlt

FN_DrvBitBlt DrvBitBlt
extern

◆ DrvCompletePDEV

FN_DrvCompletePDEV DrvCompletePDEV
extern

◆ DrvCopyBits

FN_DrvCopyBits DrvCopyBits
extern

◆ DrvCreateDeviceBitmap

FN_DrvCreateDeviceBitmap DrvCreateDeviceBitmap
extern

◆ DrvCreateDeviceBitmapEx

FN_DrvCreateDeviceBitmapEx DrvCreateDeviceBitmapEx
extern

◆ DrvDeleteDeviceBitmap

FN_DrvDeleteDeviceBitmap DrvDeleteDeviceBitmap
extern

◆ DrvDeleteDeviceBitmapEx

FN_DrvDeleteDeviceBitmapEx DrvDeleteDeviceBitmapEx
extern

◆ DrvDeriveSurface

FN_DrvDeriveSurface DrvDeriveSurface
extern

◆ DrvDescribePixelFormat

FN_DrvDescribePixelFormat DrvDescribePixelFormat
extern

Referenced by IntGetIcdData().

◆ DrvDestroyFont

FN_DrvDestroyFont DrvDestroyFont
extern

◆ DrvDisableDirectDraw

FN_DrvDisableDirectDraw DrvDisableDirectDraw
extern

◆ DrvDisableDriver

FN_DrvDisableDriver DrvDisableDriver
extern

◆ DrvDisablePDEV

FN_DrvDisablePDEV DrvDisablePDEV
extern

◆ DrvDisableSurface

FN_DrvDisableSurface DrvDisableSurface
extern

◆ DrvDitherColor

FN_DrvDitherColor DrvDitherColor
extern

◆ DrvDrawEscape

FN_DrvDrawEscape DrvDrawEscape
extern

◆ DrvEnableDirectDraw

FN_DrvEnableDirectDraw DrvEnableDirectDraw
extern

◆ DrvEnableDriver

FN_DrvEnableDriver DrvEnableDriver
extern

◆ DrvEnablePDEV

FN_DrvEnablePDEV DrvEnablePDEV
extern

◆ DrvEnableSurface

FN_DrvEnableSurface DrvEnableSurface
extern

◆ DrvEndDoc

FN_DrvEndDoc DrvEndDoc
extern

◆ DrvEndDxInterop

FN_DrvEndDxInterop DrvEndDxInterop
extern

◆ DrvEscape

FN_DrvEscape DrvEscape
extern

◆ DrvFillPath

FN_DrvFillPath DrvFillPath
extern

◆ DrvFontManagement

FN_DrvFontManagement DrvFontManagement
extern

◆ DrvFree

FN_DrvFree DrvFree
extern

◆ DrvGetDirectDrawInfo

FN_DrvGetDirectDrawInfo DrvGetDirectDrawInfo
extern

◆ DrvGetGlyphMode

FN_DrvGetGlyphMode DrvGetGlyphMode
extern

◆ DrvGetModes

FN_DrvGetModes DrvGetModes
extern

◆ DrvGetTrueTypeFile

FN_DrvGetTrueTypeFile DrvGetTrueTypeFile
extern

◆ DrvGradientFill

FN_DrvGradientFill DrvGradientFill
extern

◆ DrvIcmCheckBitmapBits

FN_DrvIcmCheckBitmapBits DrvIcmCheckBitmapBits
extern

◆ DrvIcmCreateColorTransform

FN_DrvIcmCreateColorTransform DrvIcmCreateColorTransform
extern

◆ DrvIcmDeleteColorTransform

FN_DrvIcmDeleteColorTransform DrvIcmDeleteColorTransform
extern

◆ DrvIcmSetDeviceGammaRamp

FN_DrvIcmSetDeviceGammaRamp DrvIcmSetDeviceGammaRamp
extern

◆ DrvLineTo

FN_DrvLineTo DrvLineTo
extern

◆ DrvLoadFontFile

FN_DrvLoadFontFile DrvLoadFontFile
extern

◆ DrvLockDisplayArea

FN_DrvLockDisplayArea DrvLockDisplayArea
extern

◆ DrvMovePanning

FN_DrvMovePanning DrvMovePanning
extern

◆ DrvMovePointer

FN_DrvMovePointer DrvMovePointer
extern

◆ DrvNextBand

FN_DrvNextBand DrvNextBand
extern

◆ DrvNotify

FN_DrvNotify DrvNotify
extern

◆ DrvOffset

FN_DrvOffset DrvOffset
extern

◆ DrvPaint

FN_DrvPaint DrvPaint
extern

◆ DrvPlgBlt

FN_DrvPlgBlt DrvPlgBlt
extern

◆ DrvQueryAdvanceWidths

FN_DrvQueryAdvanceWidths DrvQueryAdvanceWidths
extern

◆ DrvQueryDeviceSupport

FN_DrvQueryDeviceSupport DrvQueryDeviceSupport
extern

◆ DrvQueryDriverInfo

FN_DrvQueryDriverInfo DrvQueryDriverInfo
extern

◆ DrvQueryFont

FN_DrvQueryFont DrvQueryFont
extern

◆ DrvQueryFontCaps

FN_DrvQueryFontCaps DrvQueryFontCaps
extern

◆ DrvQueryFontData

FN_DrvQueryFontData DrvQueryFontData
extern

◆ DrvQueryFontFile

FN_DrvQueryFontFile DrvQueryFontFile
extern

◆ DrvQueryFontTree

FN_DrvQueryFontTree DrvQueryFontTree
extern

◆ DrvQueryGlyphAttrs

FN_DrvQueryGlyphAttrs DrvQueryGlyphAttrs
extern

◆ DrvQueryPerBandInfo

FN_DrvQueryPerBandInfo DrvQueryPerBandInfo
extern

◆ DrvQuerySpoolType

FN_DrvQuerySpoolType DrvQuerySpoolType
extern

◆ DrvQueryTrueTypeOutline

FN_DrvQueryTrueTypeOutline DrvQueryTrueTypeOutline
extern

◆ DrvQueryTrueTypeSection

FN_DrvQueryTrueTypeSection DrvQueryTrueTypeSection
extern

◆ DrvQueryTrueTypeTable

FN_DrvQueryTrueTypeTable DrvQueryTrueTypeTable
extern

◆ DrvRealizeBrush

FN_DrvRealizeBrush DrvRealizeBrush
extern

◆ DrvRenderHint

FN_DrvRenderHint DrvRenderHint
extern

◆ DrvResetDevice

FN_DrvResetDevice DrvResetDevice
extern

◆ DrvResetPDEV

FN_DrvResetPDEV DrvResetPDEV
extern

◆ DrvSaveScreenBits

FN_DrvSaveScreenBits DrvSaveScreenBits
extern

◆ DrvSendPage

FN_DrvSendPage DrvSendPage
extern

◆ DrvSetPalette

FN_DrvSetPalette DrvSetPalette
extern

◆ DrvSetPixelFormat

FN_DrvSetPixelFormat DrvSetPixelFormat
extern

Referenced by IntGetIcdData().

◆ DrvSetPointerShape

FN_DrvSetPointerShape DrvSetPointerShape
extern

Referenced by DrvDisableSurface().

◆ DrvStartBanding

FN_DrvStartBanding DrvStartBanding
extern

◆ DrvStartDoc

FN_DrvStartDoc DrvStartDoc
extern

◆ DrvStartDxInterop

FN_DrvStartDxInterop DrvStartDxInterop
extern

◆ DrvStartPage

FN_DrvStartPage DrvStartPage
extern

◆ DrvStretchBlt

FN_DrvStretchBlt DrvStretchBlt
extern

◆ DrvStretchBltROP

FN_DrvStretchBltROP DrvStretchBltROP
extern

◆ DrvStrokeAndFillPath

FN_DrvStrokeAndFillPath DrvStrokeAndFillPath
extern

◆ DrvStrokePath

FN_DrvStrokePath DrvStrokePath
extern

◆ DrvSwapBuffers

FN_DrvSwapBuffers DrvSwapBuffers
extern

Referenced by IntGetIcdData().

◆ DrvSynchronize

FN_DrvSynchronize DrvSynchronize
extern

◆ DrvSynchronizeRedirectionBitmaps

FN_DrvSynchronizeRedirectionBitmaps DrvSynchronizeRedirectionBitmaps
extern

◆ DrvSynchronizeSurface

FN_DrvSynchronizeSurface DrvSynchronizeSurface
extern

◆ DrvTextOut

FN_DrvTextOut DrvTextOut
extern

◆ DrvTransparentBlt

FN_DrvTransparentBlt DrvTransparentBlt
extern

◆ DrvUnloadFontFile

FN_DrvUnloadFontFile DrvUnloadFontFile
extern

◆ DrvUnlockDisplayArea

FN_DrvUnlockDisplayArea DrvUnlockDisplayArea
extern

◆ dwIoControlCode

_In_ DWORD dwIoControlCode

◆ lpBytesReturned

◆ nFirstChar

_In_ INT nFirstChar

Definition at line 1485 of file winddi.h.

Referenced by EngComputeGlyphSet().

◆ pCapability

Definition at line 2308 of file winddi.h.

Referenced by check_get(), and EngQuerySystemAttribute().

◆ pcjBuf

Definition at line 2110 of file winddi.h.

Referenced by __drv_preferredFunction().

◆ ppjBuf

◆ pulSize

◆ ULONG

typedef ULONG

Definition at line 4244 of file winddi.h.