[ros-diffs] [greatlrd] 33593: adding 1 new syscall from vista : NtGdiCreateOPMProtectedOutputs Adding 62 new syscall from vista, they are known as D3DKMT for the graphic drv and gdi32.dll, I have not fix the protype for I do not known if it same as the drv prototype or not, yet. NtGdiDdDDICheckExclusiveOwnership, NtGdiDdDDICheckMonitorPowerState, NtGdiDdDDICheckOcclusion, NtGdiDdDDICloseAdapter, NtGdiDdDDICreateAllocation, NtGdiDdDDICreateContext, NtGdiDdDDICreateDCFromMemory, NtGdiDdDDICreateDevice, NtGdiDdDDICreateOverlay, NtGdiDdDDICreateSynchronizationObject, NtGdiDdDDIDestroyAllocation, NtGdiDdDDIDestroyContext, NtGdiDdDDIDestroyDCFromMemory, NtGdiDdDDIDestroyDevice, NtGdiDdDDIDestroyOverlay, NtGdiDdDDIDestroySynchronizationObject, NtGdiDdDDIEscape, NtGdiDdDDIFlipOverlay, NtGdiDdDDIGetContextSchedulingPriority, NtGdiDdDDIGetDeviceState, NtGdiDdDDIGetDisplayModeList, NtGdiDdDDIGetMultisampleMethodList, NtGdiDdDDIGetPresentHistory, NtGdiDdDDIGetProcessSchedulingPriorityClass, NtGdiDdDDIGetRuntimeData, NtGdiDdDDIGetScanLine, NtGdiDdDDIGetSharedPrimaryHandle, NtGdiDdDDIInvalidateActiveVidPn, NtGdiDdDDILock, NtGdiDdDDIOpenAdapterFromDeviceName, NtGdiDdDDIOpenAdapterFromHdc, NtGdiDdDDIOpenResource, NtGdiDdDDIPollDisplayChildren, NtGdiDdDDIPresent, NtGdiDdDDIQueryAdapterInfo, NtGdiDdDDIQueryAllocationResidency, NtGdiDdDDIQueryResourceInfo, NtGdiDdDDIQueryStatistics, NtGdiDdDDIReleaseProcessVidPnSourceOwners, NtGdiDdDDIRender, NtGdiDdDDISetAllocationPriority, NtGdiDdDDISetContextSchedulingPriority, NtGdiDdDDISetDisplayMode, NtGdiDdDDISetDisplayPrivateDriverFormat, NtGdiDdDDISetGammaRamp, NtGdiDdDDISetProcessSchedulingPriorityClass, NtGdiDdDDISetQueuedLimit, NtGdiDdDDISetVidPnSourceOwner, NtGdiDdDDISharedPrimaryLockNotification, NtGdiDdDDISharedPrimaryUnLockNotification, NtGdiDdDDISignalSynchronizationObject, NtGdiDdDDIUnlock, NtGdiDdDDIUpdateOverlay, NtGdiDdDDIWaitForIdle, NtGdiDdDDIWaitForSynchronizationObject, NtGdiDdDDIWaitForVerticalBlankEvent, NtGdiDDCCIGetCapabilitiesString, NtGdiDDCCIGetCapabilitiesStringLength, NtGdiDDCCIGetTimingReport, NtGdiDDCCIGetVCPFeature, NtGdiDDCCISaveCurrentSettings, NtGdiDDCCISetVCPFeature,

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun May 18 20:33:28 CEST 2008


Author: greatlrd
Date: Sun May 18 13:33:27 2008
New Revision: 33593

URL: http://svn.reactos.org/svn/reactos?rev=33593&view=rev
Log:
adding 1 new syscall from vista : NtGdiCreateOPMProtectedOutputs
Adding 62 new syscall from vista, they are known as D3DKMT for the graphic drv and gdi32.dll, I have not fix the protype for I do not known if it same as the drv prototype or not, yet.
NtGdiDdDDICheckExclusiveOwnership,NtGdiDdDDICheckMonitorPowerState,NtGdiDdDDICheckOcclusion,NtGdiDdDDICloseAdapter, NtGdiDdDDICreateAllocation, NtGdiDdDDICreateContext, NtGdiDdDDICreateDCFromMemory, NtGdiDdDDICreateDevice, NtGdiDdDDICreateOverlay, NtGdiDdDDICreateSynchronizationObject, NtGdiDdDDIDestroyAllocation, NtGdiDdDDIDestroyContext, NtGdiDdDDIDestroyDCFromMemory, NtGdiDdDDIDestroyDevice, NtGdiDdDDIDestroyOverlay, NtGdiDdDDIDestroySynchronizationObject, NtGdiDdDDIEscape, NtGdiDdDDIFlipOverlay, NtGdiDdDDIGetContextSchedulingPriority, NtGdiDdDDIGetDeviceState, NtGdiDdDDIGetDisplayModeList, NtGdiDdDDIGetMultisampleMethodList, NtGdiDdDDIGetPresentHistory, NtGdiDdDDIGetProcessSchedulingPriorityClass, NtGdiDdDDIGetRuntimeData, NtGdiDdDDIGetScanLine, NtGdiDdDDIGetSharedPrimaryHandle, NtGdiDdDDIInvalidateActiveVidPn, NtGdiDdDDILock, NtGdiDdDDIOpenAdapterFromDeviceName, NtGdiDdDDIOpenAdapterFromHdc, NtGdiDdDDIOpenResource, NtGdiDdDDIPollDisplayChildren, NtGdiDdDDIPresent, NtGdiDdDDIQueryAdapterInfo, NtGdiDdDDIQueryAllocationResidency, NtGdiDdDDIQueryResourceInfo, NtGdiDdDDIQueryStatistics, NtGdiDdDDIReleaseProcessVidPnSourceOwners, NtGdiDdDDIRender, NtGdiDdDDISetAllocationPriority, NtGdiDdDDISetContextSchedulingPriority, NtGdiDdDDISetDisplayMode, NtGdiDdDDISetDisplayPrivateDriverFormat, NtGdiDdDDISetGammaRamp, NtGdiDdDDISetProcessSchedulingPriorityClass, NtGdiDdDDISetQueuedLimit, NtGdiDdDDISetVidPnSourceOwner, NtGdiDdDDISharedPrimaryLockNotification, NtGdiDdDDISharedPrimaryUnLockNotification, NtGdiDdDDISignalSynchronizationObject, NtGdiDdDDIUnlock, NtGdiDdDDIUpdateOverlay, NtGdiDdDDIWaitForIdle, NtGdiDdDDIWaitForSynchronizationObject, NtGdiDdDDIWaitForVerticalBlankEvent, NtGdiDDCCIGetCapabilitiesString, NtGdiDDCCIGetCapabilitiesStringLength, NtGdiDDCCIGetTimingReport, NtGdiDDCCIGetVCPFeature, NtGdiDDCCISaveCurrentSettings, NtGdiDDCCISetVCPFeature,

Added:
    branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c   (with props)
Modified:
    branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h
    branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c
    branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db

Modified: branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h
URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h?rev=33593&r1=33592&r2=33593&view=diff
==============================================================================
--- branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] (original)
+++ branches/win32k-gdi-dx/include/reactos/win32k/ntgdityp.h [iso-8859-1] Sun May 18 13:33:27 2008
@@ -1,667 +1,738 @@
-/*
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS Win32 Graphical Subsystem (WIN32K)
- * FILE:            include/win32k/ntgdityp.h
- * PURPOSE:         Win32 Shared GDI Types for NtGdi*
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- */
-
-/* INCLUDES ******************************************************************/
-
-#ifndef _NTGDITYP_
-#define _NTGDITYP_
-
-/* ENUMERATIONS **************************************************************/
-
-typedef enum _ARCTYPE
-{
-    GdiTypeArc,
-    GdiTypeArcTo,
-    GdiTypeChord,
-    GdiTypePie,
-} ARCTYPE, *PARCTYPE;
-
-typedef enum _PALFUNCTYPE
-{
-    GdiPalAnimate,
-    GdiPalSetEntries,
-    GdiPalGetEntries,
-    GdiPalGetSystemEntries,
-    GdiPalSetColorTable,
-    GdiPalGetColorTable,
-} PALFUNCTYPE, *PPALFUNCTYPE;
-
-typedef enum _POLYFUNCTYPE
-{
-    GdiPolyPolygon = 1,
-    GdiPolyPolyLine,
-    GdiPolyBezier,
-    GdiPolyLineTo,
-    GdiPolyBezierTo,
-    GdiPolyPolyRgn,
-} POLYFUNCTYPE, *PPOLYFUNCTYPE;
-
-typedef enum _GETDCDWORD
-{
-    GdiGetJournal,
-    GdiGetRelAbs,
-    GdiGetBreakExtra,
-    GdiGerCharBreak,
-    GdiGetArcDirection,
-    GdiGetEMFRestorDc,
-    GdiGetFontLanguageInfo,
-    GdiGetIsMemDc,
-    GdiGetMapMode,
-    GdiGetTextCharExtra,
-} GETDCDWORD, *PGETDCDWORD;
-
-typedef enum _GETSETDCDWORD
-{
-    GdiGetSetCopyCount = 2,
-    GdiGetSetTextAlign,
-    GdiGetSetRelAbs,
-    GdiGetSetTextCharExtra,
-    GdiGetSetSelectFont,
-    GdiGetSetMapperFlagsInternal,
-    GdiGetSetMapMode,
-    GdiGetSetArcDirection,
-} GETSETDCDWORD, *PGETSETDCDWORD;
-
-typedef enum _GETDCPOINT
-{
-    GdiGetViewPortExt = 1,
-    GdiGetWindowExt,
-    GdiGetViewPortOrg,
-    GdiGetWindowOrg,
-    GdiGetAspectRatioFilter,
-    GdiGetDCOrg = 6,
-} GETDCPOINT, *PGETDCPOINT;
-
-
-typedef enum _GDIBATCHCMD
-{
-    GdiBCPatBlt,
-    GdiBCPolyPatBlt,
-    GdiBCTextOut,
-    GdiBCExtTextOut,
-    GdiBCSetBrushOrg,
-    GdiBCExtSelClipRgn,
-    GdiBCSelObj,
-    GdiBCDelObj,
-    GdiBCDelRgn,
-} GDIBATCHCMD, *PGDIBATCHCMD;
-
-typedef enum _TRANSFORMTYPE
-{
-    GdiDpToLp,
-    GdiLpToDp,
-} TRANSFORMTYPE, *PTRANSFORMTYPE;
-
-typedef enum GDIObjType
-{
-    GDIObjType_DEF_TYPE = 0x00,
-    GDIObjType_DC_TYPE = 0x01,
-    GDIObjType_UNUSED1_TYPE = 0x02,
-    GDIObjType_UNUSED2_TYPE = 0x03,
-    GDIObjType_RGN_TYPE = 0x04,
-    GDIObjType_SURF_TYPE = 0x05,
-    GDIObjType_CLIENTOBJ_TYPE = 0x06,
-    GDIObjType_PATH_TYPE = 0x07,
-    GDIObjType_PAL_TYPE = 0x08,
-    GDIObjType_ICMLCS_TYPE = 0x09,
-    GDIObjType_LFONT_TYPE = 0x0a,
-    GDIObjType_RFONT_TYPE = 0x0b,
-    GDIObjType_PFE_TYPE = 0x0c,
-    GDIObjType_PFT_TYPE = 0x0d,
-    GDIObjType_ICMCXF_TYPE = 0x0e,
-    GDIObjType_SPRITE_TYPE = 0x0f,
-    GDIObjType_BRUSH_TYPE = 0x10,
-    GDIObjType_UMPD_TYPE = 0x11,
-    GDIObjType_UNUSED4_TYPE = 0x12,
-    GDIObjType_SPACE_TYPE = 0x13,
-    GDIObjType_UNUSED5_TYPE = 0x14,
-    GDIObjType_META_TYPE = 0x15,
-    GDIObjType_EFSTATE_TYPE = 0x16,
-    GDIObjType_BMFD_TYPE = 0x17,
-    GDIObjType_VTFD_TYPE = 0x18,
-    GDIObjType_TTFD_TYPE = 0x19,
-    GDIObjType_RC_TYPE = 0x1a,
-    GDIObjType_TEMP_TYPE = 0x1b,
-    GDIObjType_DRVOBJ_TYPE = 0x1c,
-    GDIObjType_DCIOBJ_TYPE = 0x1d,
-    GDIObjType_SPOOL_TYPE = 0x1e,
-    GDIObjType_MAX_TYPE = 0x1e,
-    GDIObjTypeTotal = 0x1f,
-} GDIOBJTYPE, *PGDIOBJTYPE;
-
-typedef enum GDILoObjType
-{
-    GDILoObjType_LO_BRUSH_TYPE = 0x100000,
-    GDILoObjType_LO_DC_TYPE = 0x10000,
-    GDILoObjType_LO_BITMAP_TYPE = 0x50000,
-    GDILoObjType_LO_PALETTE_TYPE = 0x80000,
-    GDILoObjType_LO_FONT_TYPE = 0xa0000,
-    GDILoObjType_LO_REGION_TYPE = 0x40000,
-    GDILoObjType_LO_ICMLCS_TYPE = 0x90000,
-    GDILoObjType_LO_CLIENTOBJ_TYPE = 0x60000,
-    GDILoObjType_LO_ALTDC_TYPE = 0x210000,
-    GDILoObjType_LO_PEN_TYPE = 0x300000,
-    GDILoObjType_LO_EXTPEN_TYPE = 0x500000,
-    GDILoObjType_LO_DIBSECTION_TYPE = 0x250000,
-    GDILoObjType_LO_METAFILE16_TYPE = 0x260000,
-    GDILoObjType_LO_METAFILE_TYPE = 0x460000,
-    GDILoObjType_LO_METADC16_TYPE = 0x660000
-} GDILOOBJTYPE, *PGDILOOBJTYPE;
-
-#define GdiWorldSpaceToPageSpace    0x203
-
-/* FIXME: Unknown */
-typedef DWORD FULLSCREENCONTROL;
-typedef DWORD LFTYPE;
-
-/* Public LAST_STOCK = 19, plus 2 more internal entries */
-#define NB_STOCK_OBJECTS 22
-
-/* extra stock object: default 1x1 bitmap for memory DCs */
-#define DEFAULT_BITMAP (21)
-
-
-/* DEFINES *******************************************************************/
-
-#define GDIBATCHBUFSIZE 0x136*4
-#define GDI_BATCH_LIMIT 20
-
-// NtGdiGetCharWidthW Flags
-#define GCW_WIN32   0x0001
-#define GCW_NOFLOAT 0x0002
-#define GCW_INDICES 0x0008
-
-// NtGdiGetCharABCWidthW Flags
-#define GCABCW_NOFLOAT 0x0001
-#define GCABCW_INDICES 0x0002
-
-/* CAPS1 support */
-//#define C1_TRANSPARENT    0x0001
-#define TC_TT_ABLE        0x0002
-#define C1_TT_CR_ANY      0x0004
-#define C1_EMF_COMPLIANT  0x0008
-#define C1_DIBENGINE      0x0010
-#define C1_GAMMA_RAMP     0x0040
-#define C1_REINIT_ABLE    0x0080
-#define C1_GLYPH_INDEX    0x0100
-#define C1_BIT_PACKED     0x0200
-#define C1_BYTE_PACKED    0x0400
-#define C1_COLORCURSOR    0x0800
-#define C1_CMYK_ABLE      0x1000
-#define C1_SLOW_CARD      0x2000
-
-/* TYPES *********************************************************************/
-
-typedef PVOID KERNEL_PVOID;
-typedef D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI;
-typedef LONG FIX;
-
-typedef struct _CHWIDTHINFO
-{
-   LONG    lMaxNegA;
-   LONG    lMaxNegC;
-   LONG    lMinWidthD;
-} CHWIDTHINFO, *PCHWIDTHINFO;
-
-typedef struct _UNIVERSAL_FONT_ID
-{
-    DWORD  dwUfid[2];
-} UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID;
-
-typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE
-{
-    DWORD  dwCsbDefault[2];
-    DWORD  dwCsbSupported0;
-} REALIZATION_INFO, *PREALIZATION_INFO;
-
-typedef struct _WIDTHDATA
-{
-    USHORT      sOverhang;
-    USHORT      sHeight;
-    USHORT      sCharInc;
-    USHORT      sBreak;
-    BYTE        jFirst;
-    BYTE        jLast;
-    BYTE        jBreak;
-    BYTE        jDefault;
-    USHORT      sDBCSInc;
-    USHORT      sDefaultInc;
-} WIDTHDATA, *PWIDTHDATA;
-
-typedef struct _DEVCAPS // Very similar to GDIINFO
-{
-    ULONG ulVersion;
-    ULONG ulTechnology;
-    ULONG ulHorzSizeM;
-    ULONG ulVertSizeM;
-    ULONG ulHorzSize;
-    ULONG ulVertSize;
-    ULONG ulHorzRes;
-    ULONG ulVertRes;
-    ULONG ulBitsPixel;
-    ULONG ulPlanes;
-    ULONG ulNumPens;
-    ULONG ulNumFonts;
-    ULONG ulNumColors;
-    ULONG ulRasterCaps;
-    ULONG ulAspectX;
-    ULONG ulAspectY;
-    ULONG ulAspectXY;
-    ULONG ulLogPixelsX;
-    ULONG ulLogPixelsY;
-    ULONG ulSizePalette;
-    ULONG ulColorRes;
-    ULONG ulPhysicalWidth;
-    ULONG ulPhysicalHeight;
-    ULONG ulPhysicalOffsetX;
-    ULONG ulPhysicalOffsetY;
-    ULONG ulTextCaps;
-    ULONG ulVRefresh;
-    ULONG ulDesktopHorzRes;
-    ULONG ulDesktopVertRes;
-    ULONG ulBltAlignment;
-    ULONG ulReserved[4];
-    ULONG ulShadeBlend;
-    ULONG ulColorMgmtCaps;
-} DEVCAPS, *PDEVCAPS;
-
-/* Gdi Handle Cache Types and Structures */
-#define GDI_CACHED_HADNLE_TYPES 4
-#define CACHE_BRUSH_ENTRIES  10
-#define CACHE_PEN_ENTRIES     8
-#define CACHE_REGION_ENTRIES  8
-#define CACHE_LFONT_ENTRIES   1
-
-typedef enum _HANDLECACHETYPE
-{
-    hctBrushHandle,
-    hctPenHandle,
-    hctRegionHandle,
-    hctLFontHandle
-} HANDLECACHETYPE,*PHANDLECACHETYPE;
-
-typedef struct _GDIHANDLECACHE
-{
-    ULONG           ulLock;
-    ULONG           ulNumHandles[GDI_CACHED_HADNLE_TYPES];
-    HANDLE          Handle[CACHE_BRUSH_ENTRIES+CACHE_PEN_ENTRIES+CACHE_REGION_ENTRIES+CACHE_LFONT_ENTRIES];
-} GDIHANDLECACHE, *PGDIHANDLECACHE;
-
-/* Font Structures */
-typedef struct _TMDIFF
-{
-    ULONG cjotma;
-    CHAR chFirst;
-    CHAR chLast;
-    CHAR ChDefault;
-    CHAR ChBreak;
-} TMDIFF, *PTMDIFF;
-
-typedef struct _TMW_INTERNAL
-{
-    TEXTMETRICW TextMetric;
-    TMDIFF Diff;
-} TMW_INTERNAL, *PTMW_INTERNAL;
-
-typedef struct _NTMW_INTERNAL
-{
-    TMDIFF tmd;
-    NEWTEXTMETRICEXW ntmw;
-} NTMW_INTERNAL, *PNTMW_INTERNAL;
-
-typedef struct _ENUMFONTDATAW
-{
-    ULONG cbSize;
-    ULONG ulNtmwiOffset;
-    DWORD dwFontType;
-    ENUMLOGFONTEXDVW elfexdv; /* variable size! */
-    /* NTMW_INTERNAL ntmwi; use ulNtwmOffset */
-} ENUMFONTDATAW, *PENUMFONTDATAW;
-
-/* Number Representation */
-typedef struct _EFLOAT_S
-{
-    LONG lMant;
-    LONG lExp;
-} EFLOAT_S;
-
-/* XFORM Structures */
-typedef struct _MATRIX_S
-{
-    EFLOAT_S efM11;
-    EFLOAT_S efM12;
-    EFLOAT_S efM21;
-    EFLOAT_S efM22;
-    EFLOAT_S efDx;
-    EFLOAT_S efDy;
-    FIX fxDx;
-    FIX fxDy;
-    FLONG flAccel;
-} MATRIX_S;
-
-/* Gdi XForm storage union */
-typedef union
-{
-  FLOAT f;
-  ULONG l;
-} gxf_long;
-
-typedef struct _CFONT
-{
-    struct _CFONT   *pcfNext;
-    HFONT           hf;
-    ULONG           cRef;               // Count of all pointers to this CFONT.
-    FLONG           fl;
-    LONG            lHeight;            // Precomputed logical height.
-    HDC             hdc;                // HDC of realization.  0 for display.
-    EFLOAT_S        efM11;              // efM11 of WtoD of DC of realization
-    EFLOAT_S        efM22;              // efM22 of WtoD of DC of realization
-    EFLOAT_S        efDtoWBaseline;     // Precomputed back transform.  (FXtoL)
-    EFLOAT_S        efDtoWAscent;       // Precomputed back transform.  (FXtoL)
-    WIDTHDATA       wd;
-    FLONG           flInfo;
-    USHORT          sWidth[256];        // Widths in pels.
-    ULONG           ulAveWidth;         // bogus average used by USER
-    TMW_INTERNAL    tmw;                // cached metrics
-    LOCALESIGNATURE lsLocSig;           // font signature information
-} CFONT, *PCFONT;
-
-//
-// GDI Batch structures.
-//
-typedef struct _GDIBATCHHDR
-{
-  SHORT Size;
-  SHORT Cmd;
-} GDIBATCHHDR, *PGDIBATCHHDR;
-
-typedef struct _GDIBSPATBLT
-{
-  GDIBATCHHDR gbHdr;
-  int nXLeft;
-  int nYLeft;
-  int nWidth;
-  int nHeight;
-  HANDLE hbrush;
-  DWORD dwRop;
-  COLORREF crForegroundClr;
-  COLORREF crBackgroundClr;
-  COLORREF crBrushClr;
-  INT IcmBrushColor;
-  POINTL ptlViewportOrg;
-  ULONG ulForegroundClr;
-  ULONG ulBackgroundClr;
-  ULONG ulBrushClr;
-} GDIBSPATBLT, *PGDIBSPATBLT;
-
-#ifndef _NTUSRTYP_
-typedef struct _PATRECT
-{
-  RECT r;
-  HBRUSH hBrush;
-} PATRECT, * PPATRECT;
-
-typedef struct _W32CLIENTINFO
-{
-    ULONG CI_flags;
-    ULONG cSpins;
-    ULONG ulWindowsVersion;
-    ULONG ulAppCompatFlags;
-    ULONG ulAppCompatFlags2;
-    ULONG W32ClientInfo[57];
-} W32CLIENTINFO, *PW32CLIENTINFO;
-#endif
-
-typedef struct _GDIBSPPATBLT
-{
-  GDIBATCHHDR gbHdr;
-  DWORD rop4;
-  DWORD Mode;
-  DWORD Count;
-  COLORREF crForegroundClr;
-  COLORREF crBackgroundClr;
-  COLORREF crBrushClr;
-  ULONG ulForegroundClr;
-  ULONG ulBackgroundClr;
-  ULONG ulBrushClr;
-  POINTL ptlViewportOrg;
-  PATRECT pRect[1]; // POLYPATBLT
-} GDIBSPPATBLT, *PGDIBSPPATBLT;
-
-typedef struct _GDIBSTEXTOUT
-{
-  GDIBATCHHDR gbHdr;
-  COLORREF crForegroundClr;
-  COLORREF crBackgroundClr;
-  LONG lmBkMode;
-  ULONG ulForegroundClr;
-  ULONG ulBackgroundClr;
-  int x;
-  int y;
-  UINT Options;
-  RECT Rect;
-  DWORD iCS_CP;
-  UINT cbCount;
-  UINT Size;
-  HANDLE hlfntNew;
-  FLONG flTextAlign;
-  POINTL ptlViewportOrg;
-  WCHAR String[2];
-} GDIBSTEXTOUT, *PGDIBSTEXTOUT;
-
-typedef struct _GDIBSEXTTEXTOUT
-{
-  GDIBATCHHDR gbHdr;
-  UINT Count;
-  UINT Options;
-  RECT Rect;
-  POINTL ptlViewportOrg;
-  ULONG ulBackgroundClr;
-} GDIBSEXTTEXTOUT, *PGDIBSEXTTEXTOUT;
-
-typedef struct _GDIBSSETBRHORG
-{
-  GDIBATCHHDR gbHdr;
-  POINTL ptlBrushOrigin;
-} GDIBSSETBRHORG, *PGDIBSSETBRHORG;
-
-typedef struct _GDIBSEXTSELCLPRGN
-{
-  GDIBATCHHDR gbHdr;
-  int fnMode;
-  LONG right;
-  LONG bottom;
-  LONG left;
-  LONG top;
-} GDIBSEXTSELCLPRGN, *PGDIBSEXTSELCLPRGN;
-//
-//   Use with GdiBCSelObj, GdiBCDelObj and GdiBCDelRgn.
-typedef struct _GDIBSOBJECT
-{
-  GDIBATCHHDR gbHdr;
-  HGDIOBJ hgdiobj;
-} GDIBSOBJECT, *PGDIBSOBJECT;
-
-//
-//  Driver Functions
-//
-typedef BOOL (NTAPI *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
-typedef DHPDEV (NTAPI *PGD_ENABLEPDEV)(DEVMODEW  *, LPWSTR, ULONG, HSURF *, ULONG, ULONG  *, ULONG, DEVINFO  *, LPWSTR, LPWSTR, HANDLE);
-typedef VOID (NTAPI *PGD_COMPLETEPDEV)(DHPDEV, HDEV);
-typedef VOID (NTAPI *PGD_DISABLEPDEV)(DHPDEV);
-typedef HSURF (NTAPI *PGD_ENABLESURFACE)(DHPDEV);
-typedef VOID (NTAPI *PGD_DISABLESURFACE)(DHPDEV);
-typedef BOOL (NTAPI *PGD_ASSERTMODE)(DHPDEV, BOOL);
-typedef BOOL (NTAPI *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG);
-typedef BOOL (NTAPI *PGD_RESETPDEV)(DHPDEV, DHPDEV);
-typedef VOID (NTAPI *PGD_DISABLEDRIVER)(VOID);
-typedef HBITMAP (NTAPI *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
-typedef VOID (NTAPI *PGD_DELETEDEVICEBITMAP)(DHSURF);
-typedef BOOL (NTAPI *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*);
-typedef BOOL (NTAPI *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, ULONG);
-typedef ULONG (NTAPI *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
-typedef BOOL (NTAPI *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, POINTL*, PLINEATTRS, MIX);
-typedef BOOL (NTAPI *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX, ULONG);
-typedef BOOL (NTAPI *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, PLINEATTRS, BRUSHOBJ*, POINTL*, MIX, ULONG);
-typedef BOOL (NTAPI *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
-typedef BOOL (NTAPI *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*, POINTL*, ROP4);
-typedef BOOL (NTAPI *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
-typedef BOOL (NTAPI *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*);
-typedef BOOL (NTAPI *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG);
-typedef BOOL (NTAPI *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG, BRUSHOBJ*, DWORD);
-typedef BOOL (NTAPI *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
-typedef BOOL (NTAPI *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*, RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
-typedef ULONG (NTAPI *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
-typedef ULONG (NTAPI *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG, PVOID *);
-typedef PIFIMETRICS (NTAPI *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
-typedef PVOID (NTAPI *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
-typedef LONG (NTAPI *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*, PVOID, ULONG);
-typedef ULONG (NTAPI *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, LONG, LONG, LONG, LONG, RECTL*, ULONG);
-typedef VOID (NTAPI *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
-typedef BOOL (NTAPI *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG, LONG, RECTL*, MIX);
-typedef BOOL (NTAPI *PGD_SENDPAGE)(SURFOBJ*);
-typedef BOOL (NTAPI *PGD_STARTPAGE)(SURFOBJ*);
-typedef BOOL (NTAPI *PGD_ENDDOC)(SURFOBJ*, ULONG);
-typedef BOOL (NTAPI *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
-typedef ULONG (NTAPI *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
-typedef VOID (NTAPI *PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
-typedef ULONG (NTAPI *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
-typedef ULONG (NTAPI *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
-typedef VOID (NTAPI *PGD_FREE)(PVOID, ULONG);
-typedef VOID (NTAPI *PGD_DESTROYFONT)(FONTOBJ*);
-typedef LONG (NTAPI *PGD_QUERYFONTCAPS)(ULONG, PULONG);
-typedef ULONG (NTAPI *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
-typedef BOOL (NTAPI *PGD_UNLOADFONTFILE)(ULONG);
-typedef ULONG (NTAPI *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID, ULONG, PVOID);
-typedef LONG (NTAPI *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG, PBYTE);
-typedef LONG (NTAPI *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL, GLYPHDATA*, ULONG, TTPOLYGONHEADER*);
-typedef PVOID (NTAPI *PGD_GETTRUETYPEFILE)(ULONG, PULONG);
-typedef LONG (NTAPI *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
-typedef BOOL (NTAPI *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *, PVOID *, ULONG);
-typedef BOOL (NTAPI *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
-typedef LONG (NTAPI *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG, PPIXELFORMATDESCRIPTOR);
-typedef BOOL (NTAPI *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
-typedef BOOL (NTAPI *PGD_STARTBANDING)(SURFOBJ*, POINTL*);
-typedef BOOL (NTAPI *PGD_NEXTBAND)(SURFOBJ*, POINTL*);
-typedef BOOL (NTAPI *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
-typedef BOOL (NTAPI *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
-typedef VOID (NTAPI *PGD_DISABLEDIRECTDRAW)(DHPDEV);
-typedef LONG (NTAPI *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
-typedef BOOL (NTAPI *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
-typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
-
-//
-// Most of these are definded in ddk/winddi.h
-//
-typedef struct _DRIVER_FUNCTIONS
-{
-    PGD_ENABLEPDEV                 EnablePDEV;    
-    PGD_COMPLETEPDEV               CompletePDEV;
-    PGD_DISABLEPDEV                DisablePDEV;
-    PGD_ENABLESURFACE              EnableSurface;
-    PGD_DISABLESURFACE             DisableSurface;
-    PGD_ASSERTMODE                 AssertMode;
-    PGD_OFFSET                     Offset;
-    PGD_RESETPDEV                  ResetPDEV;
-    PGD_DISABLEDRIVER              DisableDriver;
-    PVOID                          Unknown1;
-    PGD_CREATEDEVICEBITMAP         CreateDeviceBitmap;
-    PGD_DELETEDEVICEBITMAP         DeleteDeviceBitmap;
-    PGD_REALIZEBRUSH               RealizeBrush;
-    PGD_DITHERCOLOR                DitherColor;
-    PGD_STROKEPATH                 StrokePath;
-    PGD_FILLPATH                   FillPath;
-    PGD_STROKEANDFILLPATH          StrokeAndFillPath;
-    PGD_PAINT                      Paint;
-    PGD_BITBLT                     BitBlt;
-    PGD_COPYBITS                   CopyBits;
-    PGD_STRETCHBLT                 StretchBlt;
-    PVOID                          Unknown2;
-    PGD_SETPALETTE                 SetPalette;
-    PGD_TEXTOUT                    TextOut;
-    PGD_ESCAPE                     Escape;
-    PGD_DRAWESCAPE                 DrawEscape;
-    PGD_QUERYFONT                  QueryFont;
-    PGD_QUERYFONTTREE              QueryFontTree;
-    PGD_QUERYFONTDATA              QueryFontData;
-    PGD_SETPOINTERSHAPE            SetPointerShape;
-    PGD_MOVEPOINTER                MovePointer;
-    PGD_LINETO                     LineTo;
-    PGD_SENDPAGE                   SendPage;
-    PGD_STARTPAGE                  StartPage;
-    PGD_ENDDOC                     EndDoc;
-    PGD_STARTDOC                   StartDoc;
-    PVOID                          Unknown3; 
-    PGD_GETGLYPHMODE               GetGlyphMode;
-    PGD_SYNCHRONIZE                Synchronize;
-    PVOID                          Unknown4; 
-    PGD_SAVESCREENBITS             SaveScreenBits;
-    PGD_GETMODES                   GetModes;
-    PGD_FREE                       Free;
-    PGD_DESTROYFONT                DestroyFont;
-    PGD_QUERYFONTCAPS              QueryFontCaps;
-    PGD_LOADFONTFILE               LoadFontFile;
-    PGD_UNLOADFONTFILE             UnloadFontFile;
-    PGD_FONTMANAGEMENT             FontManagement;
-    PGD_QUERYTRUETYPETABLE         QueryTrueTypeTable;
-    PGD_QUERYTRUETYPEOUTLINE       QueryTrueTypeOutline;
-    PGD_GETTRUETYPEFILE            GetTrueTypeFile;
-    PGD_QUERYFONTFILE              QueryFontFile;
-    PFN_DrvMovePanning             MovePanning;
-    PGD_QUERYADVANCEWIDTHS         QueryAdvanceWidths;
-    PGD_SETPIXELFORMAT             SetPixelFormat;
-    PGD_DESCRIBEPIXELFORMAT        DescribePixelFormat;
-    PGD_SWAPBUFFERS                SwapBuffers;
-    PGD_STARTBANDING               StartBanding;
-    PGD_NEXTBAND                   NextBand;
-    PGD_GETDIRECTDRAWINFO          GetDirectDrawInfo;
-    PGD_ENABLEDIRECTDRAW           EnableDirectDraw;
-    PGD_DISABLEDIRECTDRAW          DisableDirectDraw;
-    PGD_QUERYSPOOLTYPE             QuerySpoolType;
-    PVOID                          Unknown5;
-    PFN_DrvIcmCreateColorTransform IcmCreateColorTransform;
-    PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform;
-    PFN_DrvIcmCheckBitmapBits      IcmCheckBitmapBits;
-    PFN_DrvIcmSetDeviceGammaRamp   IcmSetDeviceGammaRamp;
-    PGD_GRADIENTFILL               GradientFill;
-    PGD_STRETCHBLTROP              StretchBltROP;
-    PFN_DrvPlgBlt                  PlgBlt;
-    PGD_ALPHABLEND                 AlphaBlend;
-    PVOID                          SynthesizeFont;
-    PVOID                          GetSynthesizedFontFiles;
-    PGD_TRANSPARENTBLT             TransparentBlt;
-    PFN_DrvQueryPerBandInfo        QueryPerBandInfo;
-    PFN_DrvQueryDeviceSupport      QueryDeviceSupport;
-    PVOID                          Reserved1;
-    PVOID                          Reserved2;
-    PVOID                          Reserved3;
-    PVOID                          Reserved4;
-    PVOID                          Reserved5;
-    PVOID                          Reserved6;
-    PVOID                          Reserved7;
-    PVOID                          Reserved8;
-    PFN_DrvDeriveSurface           DeriveSurface;
-    PFN_DrvQueryGlyphAttrs         QueryGlyphAttrs;
-    PFN_DrvNotify                  Notify;
-    PGD_SYNCHRONIZESURFACE         SynchronizeSurface;
-    PFN_DrvResetDevice             ResetDevice;
-    PVOID                          Reserved9;
-    PVOID                          Reserved10;
-    PVOID                          Reserved11; /* 92 */
-    
-    /* ReactOS specify */
-    PGD_ENABLEDRIVER               EnableDriver; //ReactOS Extra
-} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
-
-/* FIXME move to more proper place, Vista syscall */
-DWORD
-STDCALL
-NtGdiConfigureOPMProtectedOutput(DWORD x1, DWORD x2, DWORD x3, DWORD x4);
-
-
-#endif
+/*
+ * COPYRIGHT:       See COPYING in the top level directory
+ * PROJECT:         ReactOS Win32 Graphical Subsystem (WIN32K)
+ * FILE:            include/win32k/ntgdityp.h
+ * PURPOSE:         Win32 Shared GDI Types for NtGdi*
+ * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
+ */
+
+/* INCLUDES ******************************************************************/
+
+#ifndef _NTGDITYP_
+#define _NTGDITYP_
+
+/* ENUMERATIONS **************************************************************/
+
+typedef enum _ARCTYPE
+{
+    GdiTypeArc,
+    GdiTypeArcTo,
+    GdiTypeChord,
+    GdiTypePie,
+} ARCTYPE, *PARCTYPE;
+
+typedef enum _PALFUNCTYPE
+{
+    GdiPalAnimate,
+    GdiPalSetEntries,
+    GdiPalGetEntries,
+    GdiPalGetSystemEntries,
+    GdiPalSetColorTable,
+    GdiPalGetColorTable,
+} PALFUNCTYPE, *PPALFUNCTYPE;
+
+typedef enum _POLYFUNCTYPE
+{
+    GdiPolyPolygon = 1,
+    GdiPolyPolyLine,
+    GdiPolyBezier,
+    GdiPolyLineTo,
+    GdiPolyBezierTo,
+    GdiPolyPolyRgn,
+} POLYFUNCTYPE, *PPOLYFUNCTYPE;
+
+typedef enum _GETDCDWORD
+{
+    GdiGetJournal,
+    GdiGetRelAbs,
+    GdiGetBreakExtra,
+    GdiGerCharBreak,
+    GdiGetArcDirection,
+    GdiGetEMFRestorDc,
+    GdiGetFontLanguageInfo,
+    GdiGetIsMemDc,
+    GdiGetMapMode,
+    GdiGetTextCharExtra,
+} GETDCDWORD, *PGETDCDWORD;
+
+typedef enum _GETSETDCDWORD
+{
+    GdiGetSetCopyCount = 2,
+    GdiGetSetTextAlign,
+    GdiGetSetRelAbs,
+    GdiGetSetTextCharExtra,
+    GdiGetSetSelectFont,
+    GdiGetSetMapperFlagsInternal,
+    GdiGetSetMapMode,
+    GdiGetSetArcDirection,
+} GETSETDCDWORD, *PGETSETDCDWORD;
+
+typedef enum _GETDCPOINT
+{
+    GdiGetViewPortExt = 1,
+    GdiGetWindowExt,
+    GdiGetViewPortOrg,
+    GdiGetWindowOrg,
+    GdiGetAspectRatioFilter,
+    GdiGetDCOrg = 6,
+} GETDCPOINT, *PGETDCPOINT;
+
+
+typedef enum _GDIBATCHCMD
+{
+    GdiBCPatBlt,
+    GdiBCPolyPatBlt,
+    GdiBCTextOut,
+    GdiBCExtTextOut,
+    GdiBCSetBrushOrg,
+    GdiBCExtSelClipRgn,
+    GdiBCSelObj,
+    GdiBCDelObj,
+    GdiBCDelRgn,
+} GDIBATCHCMD, *PGDIBATCHCMD;
+
+typedef enum _TRANSFORMTYPE
+{
+    GdiDpToLp,
+    GdiLpToDp,
+} TRANSFORMTYPE, *PTRANSFORMTYPE;
+
+typedef enum GDIObjType
+{
+    GDIObjType_DEF_TYPE = 0x00,
+    GDIObjType_DC_TYPE = 0x01,
+    GDIObjType_UNUSED1_TYPE = 0x02,
+    GDIObjType_UNUSED2_TYPE = 0x03,
+    GDIObjType_RGN_TYPE = 0x04,
+    GDIObjType_SURF_TYPE = 0x05,
+    GDIObjType_CLIENTOBJ_TYPE = 0x06,
+    GDIObjType_PATH_TYPE = 0x07,
+    GDIObjType_PAL_TYPE = 0x08,
+    GDIObjType_ICMLCS_TYPE = 0x09,
+    GDIObjType_LFONT_TYPE = 0x0a,
+    GDIObjType_RFONT_TYPE = 0x0b,
+    GDIObjType_PFE_TYPE = 0x0c,
+    GDIObjType_PFT_TYPE = 0x0d,
+    GDIObjType_ICMCXF_TYPE = 0x0e,
+    GDIObjType_SPRITE_TYPE = 0x0f,
+    GDIObjType_BRUSH_TYPE = 0x10,
+    GDIObjType_UMPD_TYPE = 0x11,
+    GDIObjType_UNUSED4_TYPE = 0x12,
+    GDIObjType_SPACE_TYPE = 0x13,
+    GDIObjType_UNUSED5_TYPE = 0x14,
+    GDIObjType_META_TYPE = 0x15,
+    GDIObjType_EFSTATE_TYPE = 0x16,
+    GDIObjType_BMFD_TYPE = 0x17,
+    GDIObjType_VTFD_TYPE = 0x18,
+    GDIObjType_TTFD_TYPE = 0x19,
+    GDIObjType_RC_TYPE = 0x1a,
+    GDIObjType_TEMP_TYPE = 0x1b,
+    GDIObjType_DRVOBJ_TYPE = 0x1c,
+    GDIObjType_DCIOBJ_TYPE = 0x1d,
+    GDIObjType_SPOOL_TYPE = 0x1e,
+    GDIObjType_MAX_TYPE = 0x1e,
+    GDIObjTypeTotal = 0x1f,
+} GDIOBJTYPE, *PGDIOBJTYPE;
+
+typedef enum GDILoObjType
+{
+    GDILoObjType_LO_BRUSH_TYPE = 0x100000,
+    GDILoObjType_LO_DC_TYPE = 0x10000,
+    GDILoObjType_LO_BITMAP_TYPE = 0x50000,
+    GDILoObjType_LO_PALETTE_TYPE = 0x80000,
+    GDILoObjType_LO_FONT_TYPE = 0xa0000,
+    GDILoObjType_LO_REGION_TYPE = 0x40000,
+    GDILoObjType_LO_ICMLCS_TYPE = 0x90000,
+    GDILoObjType_LO_CLIENTOBJ_TYPE = 0x60000,
+    GDILoObjType_LO_ALTDC_TYPE = 0x210000,
+    GDILoObjType_LO_PEN_TYPE = 0x300000,
+    GDILoObjType_LO_EXTPEN_TYPE = 0x500000,
+    GDILoObjType_LO_DIBSECTION_TYPE = 0x250000,
+    GDILoObjType_LO_METAFILE16_TYPE = 0x260000,
+    GDILoObjType_LO_METAFILE_TYPE = 0x460000,
+    GDILoObjType_LO_METADC16_TYPE = 0x660000
+} GDILOOBJTYPE, *PGDILOOBJTYPE;
+
+#define GdiWorldSpaceToPageSpace    0x203
+
+/* FIXME: Unknown */
+typedef DWORD FULLSCREENCONTROL;
+typedef DWORD LFTYPE;
+
+/* Public LAST_STOCK = 19, plus 2 more internal entries */
+#define NB_STOCK_OBJECTS 22
+
+/* extra stock object: default 1x1 bitmap for memory DCs */
+#define DEFAULT_BITMAP (21)
+
+
+/* DEFINES *******************************************************************/
+
+#define GDIBATCHBUFSIZE 0x136*4
+#define GDI_BATCH_LIMIT 20
+
+// NtGdiGetCharWidthW Flags
+#define GCW_WIN32   0x0001
+#define GCW_NOFLOAT 0x0002
+#define GCW_INDICES 0x0008
+
+// NtGdiGetCharABCWidthW Flags
+#define GCABCW_NOFLOAT 0x0001
+#define GCABCW_INDICES 0x0002
+
+/* CAPS1 support */
+//#define C1_TRANSPARENT    0x0001
+#define TC_TT_ABLE        0x0002
+#define C1_TT_CR_ANY      0x0004
+#define C1_EMF_COMPLIANT  0x0008
+#define C1_DIBENGINE      0x0010
+#define C1_GAMMA_RAMP     0x0040
+#define C1_REINIT_ABLE    0x0080
+#define C1_GLYPH_INDEX    0x0100
+#define C1_BIT_PACKED     0x0200
+#define C1_BYTE_PACKED    0x0400
+#define C1_COLORCURSOR    0x0800
+#define C1_CMYK_ABLE      0x1000
+#define C1_SLOW_CARD      0x2000
+
+/* TYPES *********************************************************************/
+
+typedef PVOID KERNEL_PVOID;
+typedef D3DNTHAL_CONTEXTCREATEDATA D3DNTHAL_CONTEXTCREATEI;
+typedef LONG FIX;
+
+typedef struct _CHWIDTHINFO
+{
+   LONG    lMaxNegA;
+   LONG    lMaxNegC;
+   LONG    lMinWidthD;
+} CHWIDTHINFO, *PCHWIDTHINFO;
+
+typedef struct _UNIVERSAL_FONT_ID
+{
+    DWORD  dwUfid[2];
+} UNIVERSAL_FONT_ID, *PUNIVERSAL_FONT_ID;
+
+typedef struct _REALIZATION_INFO // Based on LOCALESIGNATURE
+{
+    DWORD  dwCsbDefault[2];
+    DWORD  dwCsbSupported0;
+} REALIZATION_INFO, *PREALIZATION_INFO;
+
+typedef struct _WIDTHDATA
+{
+    USHORT      sOverhang;
+    USHORT      sHeight;
+    USHORT      sCharInc;
+    USHORT      sBreak;
+    BYTE        jFirst;
+    BYTE        jLast;
+    BYTE        jBreak;
+    BYTE        jDefault;
+    USHORT      sDBCSInc;
+    USHORT      sDefaultInc;
+} WIDTHDATA, *PWIDTHDATA;
+
+typedef struct _DEVCAPS // Very similar to GDIINFO
+{
+    ULONG ulVersion;
+    ULONG ulTechnology;
+    ULONG ulHorzSizeM;
+    ULONG ulVertSizeM;
+    ULONG ulHorzSize;
+    ULONG ulVertSize;
+    ULONG ulHorzRes;
+    ULONG ulVertRes;
+    ULONG ulBitsPixel;
+    ULONG ulPlanes;
+    ULONG ulNumPens;
+    ULONG ulNumFonts;
+    ULONG ulNumColors;
+    ULONG ulRasterCaps;
+    ULONG ulAspectX;
+    ULONG ulAspectY;
+    ULONG ulAspectXY;
+    ULONG ulLogPixelsX;
+    ULONG ulLogPixelsY;
+    ULONG ulSizePalette;
+    ULONG ulColorRes;
+    ULONG ulPhysicalWidth;
+    ULONG ulPhysicalHeight;
+    ULONG ulPhysicalOffsetX;
+    ULONG ulPhysicalOffsetY;
+    ULONG ulTextCaps;
+    ULONG ulVRefresh;
+    ULONG ulDesktopHorzRes;
+    ULONG ulDesktopVertRes;
+    ULONG ulBltAlignment;
+    ULONG ulReserved[4];
+    ULONG ulShadeBlend;
+    ULONG ulColorMgmtCaps;
+} DEVCAPS, *PDEVCAPS;
+
+/* Gdi Handle Cache Types and Structures */
+#define GDI_CACHED_HADNLE_TYPES 4
+#define CACHE_BRUSH_ENTRIES  10
+#define CACHE_PEN_ENTRIES     8
+#define CACHE_REGION_ENTRIES  8
+#define CACHE_LFONT_ENTRIES   1
+
+typedef enum _HANDLECACHETYPE
+{
+    hctBrushHandle,
+    hctPenHandle,
+    hctRegionHandle,
+    hctLFontHandle
+} HANDLECACHETYPE,*PHANDLECACHETYPE;
+
+typedef struct _GDIHANDLECACHE
+{
+    ULONG           ulLock;
+    ULONG           ulNumHandles[GDI_CACHED_HADNLE_TYPES];
+    HANDLE          Handle[CACHE_BRUSH_ENTRIES+CACHE_PEN_ENTRIES+CACHE_REGION_ENTRIES+CACHE_LFONT_ENTRIES];
+} GDIHANDLECACHE, *PGDIHANDLECACHE;
+
+/* Font Structures */
+typedef struct _TMDIFF
+{
+    ULONG cjotma;
+    CHAR chFirst;
+    CHAR chLast;
+    CHAR ChDefault;
+    CHAR ChBreak;
+} TMDIFF, *PTMDIFF;
+
+typedef struct _TMW_INTERNAL
+{
+    TEXTMETRICW TextMetric;
+    TMDIFF Diff;
+} TMW_INTERNAL, *PTMW_INTERNAL;
+
+typedef struct _NTMW_INTERNAL
+{
+    TMDIFF tmd;
+    NEWTEXTMETRICEXW ntmw;
+} NTMW_INTERNAL, *PNTMW_INTERNAL;
+
+typedef struct _ENUMFONTDATAW
+{
+    ULONG cbSize;
+    ULONG ulNtmwiOffset;
+    DWORD dwFontType;
+    ENUMLOGFONTEXDVW elfexdv; /* variable size! */
+    /* NTMW_INTERNAL ntmwi; use ulNtwmOffset */
+} ENUMFONTDATAW, *PENUMFONTDATAW;
+
+/* Number Representation */
+typedef struct _EFLOAT_S
+{
+    LONG lMant;
+    LONG lExp;
+} EFLOAT_S;
+
+/* XFORM Structures */
+typedef struct _MATRIX_S
+{
+    EFLOAT_S efM11;
+    EFLOAT_S efM12;
+    EFLOAT_S efM21;
+    EFLOAT_S efM22;
+    EFLOAT_S efDx;
+    EFLOAT_S efDy;
+    FIX fxDx;
+    FIX fxDy;
+    FLONG flAccel;
+} MATRIX_S;
+
+/* Gdi XForm storage union */
+typedef union
+{
+  FLOAT f;
+  ULONG l;
+} gxf_long;
+
+typedef struct _CFONT
+{
+    struct _CFONT   *pcfNext;
+    HFONT           hf;
+    ULONG           cRef;               // Count of all pointers to this CFONT.
+    FLONG           fl;
+    LONG            lHeight;            // Precomputed logical height.
+    HDC             hdc;                // HDC of realization.  0 for display.
+    EFLOAT_S        efM11;              // efM11 of WtoD of DC of realization
+    EFLOAT_S        efM22;              // efM22 of WtoD of DC of realization
+    EFLOAT_S        efDtoWBaseline;     // Precomputed back transform.  (FXtoL)
+    EFLOAT_S        efDtoWAscent;       // Precomputed back transform.  (FXtoL)
+    WIDTHDATA       wd;
+    FLONG           flInfo;
+    USHORT          sWidth[256];        // Widths in pels.
+    ULONG           ulAveWidth;         // bogus average used by USER
+    TMW_INTERNAL    tmw;                // cached metrics
+    LOCALESIGNATURE lsLocSig;           // font signature information
+} CFONT, *PCFONT;
+
+//
+// GDI Batch structures.
+//
+typedef struct _GDIBATCHHDR
+{
+  SHORT Size;
+  SHORT Cmd;
+} GDIBATCHHDR, *PGDIBATCHHDR;
+
+typedef struct _GDIBSPATBLT
+{
+  GDIBATCHHDR gbHdr;
+  int nXLeft;
+  int nYLeft;
+  int nWidth;
+  int nHeight;
+  HANDLE hbrush;
+  DWORD dwRop;
+  COLORREF crForegroundClr;
+  COLORREF crBackgroundClr;
+  COLORREF crBrushClr;
+  INT IcmBrushColor;
+  POINTL ptlViewportOrg;
+  ULONG ulForegroundClr;
+  ULONG ulBackgroundClr;
+  ULONG ulBrushClr;
+} GDIBSPATBLT, *PGDIBSPATBLT;
+
+#ifndef _NTUSRTYP_
+typedef struct _PATRECT
+{
+  RECT r;
+  HBRUSH hBrush;
+} PATRECT, * PPATRECT;
+
+typedef struct _W32CLIENTINFO
+{
+    ULONG CI_flags;
+    ULONG cSpins;
+    ULONG ulWindowsVersion;
+    ULONG ulAppCompatFlags;
+    ULONG ulAppCompatFlags2;
+    ULONG W32ClientInfo[57];
+} W32CLIENTINFO, *PW32CLIENTINFO;
+#endif
+
+typedef struct _GDIBSPPATBLT
+{
+  GDIBATCHHDR gbHdr;
+  DWORD rop4;
+  DWORD Mode;
+  DWORD Count;
+  COLORREF crForegroundClr;
+  COLORREF crBackgroundClr;
+  COLORREF crBrushClr;
+  ULONG ulForegroundClr;
+  ULONG ulBackgroundClr;
+  ULONG ulBrushClr;
+  POINTL ptlViewportOrg;
+  PATRECT pRect[1]; // POLYPATBLT
+} GDIBSPPATBLT, *PGDIBSPPATBLT;
+
+typedef struct _GDIBSTEXTOUT
+{
+  GDIBATCHHDR gbHdr;
+  COLORREF crForegroundClr;
+  COLORREF crBackgroundClr;
+  LONG lmBkMode;
+  ULONG ulForegroundClr;
+  ULONG ulBackgroundClr;
+  int x;
+  int y;
+  UINT Options;
+  RECT Rect;
+  DWORD iCS_CP;
+  UINT cbCount;
+  UINT Size;
+  HANDLE hlfntNew;
+  FLONG flTextAlign;
+  POINTL ptlViewportOrg;
+  WCHAR String[2];
+} GDIBSTEXTOUT, *PGDIBSTEXTOUT;
+
+typedef struct _GDIBSEXTTEXTOUT
+{
+  GDIBATCHHDR gbHdr;
+  UINT Count;
+  UINT Options;
+  RECT Rect;
+  POINTL ptlViewportOrg;
+  ULONG ulBackgroundClr;
+} GDIBSEXTTEXTOUT, *PGDIBSEXTTEXTOUT;
+
+typedef struct _GDIBSSETBRHORG
+{
+  GDIBATCHHDR gbHdr;
+  POINTL ptlBrushOrigin;
+} GDIBSSETBRHORG, *PGDIBSSETBRHORG;
+
+typedef struct _GDIBSEXTSELCLPRGN
+{
+  GDIBATCHHDR gbHdr;
+  int fnMode;
+  LONG right;
+  LONG bottom;
+  LONG left;
+  LONG top;
+} GDIBSEXTSELCLPRGN, *PGDIBSEXTSELCLPRGN;
+//
+//   Use with GdiBCSelObj, GdiBCDelObj and GdiBCDelRgn.
+typedef struct _GDIBSOBJECT
+{
+  GDIBATCHHDR gbHdr;
+  HGDIOBJ hgdiobj;
+} GDIBSOBJECT, *PGDIBSOBJECT;
+
+//
+//  Driver Functions
+//
+typedef BOOL (NTAPI *PGD_ENABLEDRIVER)(ULONG, ULONG, PDRVENABLEDATA);
+typedef DHPDEV (NTAPI *PGD_ENABLEPDEV)(DEVMODEW  *, LPWSTR, ULONG, HSURF *, ULONG, ULONG  *, ULONG, DEVINFO  *, LPWSTR, LPWSTR, HANDLE);
+typedef VOID (NTAPI *PGD_COMPLETEPDEV)(DHPDEV, HDEV);
+typedef VOID (NTAPI *PGD_DISABLEPDEV)(DHPDEV);
+typedef HSURF (NTAPI *PGD_ENABLESURFACE)(DHPDEV);
+typedef VOID (NTAPI *PGD_DISABLESURFACE)(DHPDEV);
+typedef BOOL (NTAPI *PGD_ASSERTMODE)(DHPDEV, BOOL);
+typedef BOOL (NTAPI *PGD_OFFSET)(SURFOBJ*, LONG, LONG, FLONG);
+typedef BOOL (NTAPI *PGD_RESETPDEV)(DHPDEV, DHPDEV);
+typedef VOID (NTAPI *PGD_DISABLEDRIVER)(VOID);
+typedef HBITMAP (NTAPI *PGD_CREATEDEVICEBITMAP)(DHPDEV, SIZEL, ULONG);
+typedef VOID (NTAPI *PGD_DELETEDEVICEBITMAP)(DHSURF);
+typedef BOOL (NTAPI *PGD_ALPHABLEND)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, BLENDOBJ*);
+typedef BOOL (NTAPI *PGD_REALIZEBRUSH)(BRUSHOBJ*, SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, ULONG);
+typedef ULONG (NTAPI *PGD_DITHERCOLOR)(DHPDEV, ULONG, ULONG, PULONG);
+typedef BOOL (NTAPI *PGD_STROKEPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, POINTL*, PLINEATTRS, MIX);
+typedef BOOL (NTAPI *PGD_FILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX, ULONG);
+typedef BOOL (NTAPI *PGD_STROKEANDFILLPATH)(SURFOBJ*, PATHOBJ*, CLIPOBJ*, XFORMOBJ*, BRUSHOBJ*, PLINEATTRS, BRUSHOBJ*, POINTL*, MIX, ULONG);
+typedef BOOL (NTAPI *PGD_PAINT)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, POINTL*, MIX);
+typedef BOOL (NTAPI *PGD_BITBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*, POINTL*, BRUSHOBJ*, POINTL*, ROP4);
+typedef BOOL (NTAPI *PGD_TRANSPARENTBLT)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, RECTL*, ULONG, ULONG);
+typedef BOOL (NTAPI *PGD_COPYBITS)(SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, RECTL*, POINTL*);
+typedef BOOL (NTAPI *PGD_STRETCHBLT)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG);
+typedef BOOL (NTAPI *PGD_STRETCHBLTROP)(SURFOBJ*, SURFOBJ*, SURFOBJ*, CLIPOBJ*, XLATEOBJ*, COLORADJUSTMENT*, POINTL*, RECTL*, RECTL*, POINTL*, ULONG, BRUSHOBJ*, DWORD);
+typedef BOOL (NTAPI *PGD_SETPALETTE)(DHPDEV, PALOBJ*, ULONG, ULONG, ULONG);
+typedef BOOL (NTAPI *PGD_TEXTOUT)(SURFOBJ*, STROBJ*, FONTOBJ*, CLIPOBJ*, RECTL*, RECTL*, BRUSHOBJ*, BRUSHOBJ*, POINTL*, MIX);
+typedef ULONG (NTAPI *PGD_ESCAPE)(SURFOBJ*, ULONG, ULONG, PVOID *, ULONG, PVOID *);
+typedef ULONG (NTAPI *PGD_DRAWESCAPE)(SURFOBJ*, ULONG, CLIPOBJ*, RECTL*, ULONG, PVOID *);
+typedef PIFIMETRICS (NTAPI *PGD_QUERYFONT)(DHPDEV, ULONG, ULONG, PULONG);
+typedef PVOID (NTAPI *PGD_QUERYFONTTREE)(DHPDEV, ULONG, ULONG, ULONG, PULONG);
+typedef LONG (NTAPI *PGD_QUERYFONTDATA)(DHPDEV, FONTOBJ*, ULONG, HGLYPH, GLYPHDATA*, PVOID, ULONG);
+typedef ULONG (NTAPI *PGD_SETPOINTERSHAPE)(SURFOBJ*, SURFOBJ*, SURFOBJ*, XLATEOBJ*, LONG, LONG, LONG, LONG, RECTL*, ULONG);
+typedef VOID (NTAPI *PGD_MOVEPOINTER)(SURFOBJ*, LONG, LONG, RECTL*);
+typedef BOOL (NTAPI *PGD_LINETO)(SURFOBJ*, CLIPOBJ*, BRUSHOBJ*, LONG, LONG, LONG, LONG, RECTL*, MIX);
+typedef BOOL (NTAPI *PGD_SENDPAGE)(SURFOBJ*);
+typedef BOOL (NTAPI *PGD_STARTPAGE)(SURFOBJ*);
+typedef BOOL (NTAPI *PGD_ENDDOC)(SURFOBJ*, ULONG);
+typedef BOOL (NTAPI *PGD_STARTDOC)(SURFOBJ*, PWSTR, DWORD);
+typedef ULONG (NTAPI *PGD_GETGLYPHMODE)(DHPDEV, FONTOBJ*);
+typedef VOID (NTAPI *PGD_SYNCHRONIZE)(DHPDEV, RECTL*);
+typedef ULONG (NTAPI *PGD_SAVESCREENBITS)(SURFOBJ*, ULONG, ULONG, RECTL*);
+typedef ULONG (NTAPI *PGD_GETMODES)(HANDLE, ULONG, PDEVMODEW);
+typedef VOID (NTAPI *PGD_FREE)(PVOID, ULONG);
+typedef VOID (NTAPI *PGD_DESTROYFONT)(FONTOBJ*);
+typedef LONG (NTAPI *PGD_QUERYFONTCAPS)(ULONG, PULONG);
+typedef ULONG (NTAPI *PGD_LOADFONTFILE)(ULONG, PVOID, ULONG, ULONG);
+typedef BOOL (NTAPI *PGD_UNLOADFONTFILE)(ULONG);
+typedef ULONG (NTAPI *PGD_FONTMANAGEMENT)(SURFOBJ*, FONTOBJ*, ULONG, ULONG, PVOID, ULONG, PVOID);
+typedef LONG (NTAPI *PGD_QUERYTRUETYPETABLE)(ULONG, ULONG, ULONG, PTRDIFF, ULONG, PBYTE);
+typedef LONG (NTAPI *PGD_QUERYTRUETYPEOUTLINE)(DHPDEV, FONTOBJ*, HGLYPH, BOOL, GLYPHDATA*, ULONG, TTPOLYGONHEADER*);
+typedef PVOID (NTAPI *PGD_GETTRUETYPEFILE)(ULONG, PULONG);
+typedef LONG (NTAPI *PGD_QUERYFONTFILE)(ULONG, ULONG, ULONG, PULONG);
+typedef BOOL (NTAPI *PGD_QUERYADVANCEWIDTHS)(DHPDEV, FONTOBJ*, ULONG, HGLYPH *, PVOID *, ULONG);
+typedef BOOL (NTAPI *PGD_SETPIXELFORMAT)(SURFOBJ*, LONG, ULONG);
+typedef LONG (NTAPI *PGD_DESCRIBEPIXELFORMAT)(DHPDEV, LONG, ULONG, PPIXELFORMATDESCRIPTOR);
+typedef BOOL (NTAPI *PGD_SWAPBUFFERS)(SURFOBJ*, PWNDOBJ);
+typedef BOOL (NTAPI *PGD_STARTBANDING)(SURFOBJ*, POINTL*);
+typedef BOOL (NTAPI *PGD_NEXTBAND)(SURFOBJ*, POINTL*);
+typedef BOOL (NTAPI *PGD_GETDIRECTDRAWINFO)(DHPDEV, PDD_HALINFO, PDWORD, VIDEOMEMORY*, PDWORD, PDWORD);
+typedef BOOL (NTAPI *PGD_ENABLEDIRECTDRAW)(DHPDEV, PDD_CALLBACKS, PDD_SURFACECALLBACKS, PDD_PALETTECALLBACKS);
+typedef VOID (NTAPI *PGD_DISABLEDIRECTDRAW)(DHPDEV);
+typedef LONG (NTAPI *PGD_QUERYSPOOLTYPE)(DHPDEV, LPWSTR);
+typedef BOOL (NTAPI *PGD_GRADIENTFILL)(SURFOBJ*, CLIPOBJ*, XLATEOBJ*, TRIVERTEX*, ULONG, PVOID, ULONG, RECTL*, POINTL*, ULONG);
+typedef VOID (NTAPI *PGD_SYNCHRONIZESURFACE)(SURFOBJ*, RECTL *, FLONG);
+
+//
+// Most of these are definded in ddk/winddi.h
+//
+typedef struct _DRIVER_FUNCTIONS
+{
+    PGD_ENABLEPDEV                 EnablePDEV;    
+    PGD_COMPLETEPDEV               CompletePDEV;
+    PGD_DISABLEPDEV                DisablePDEV;
+    PGD_ENABLESURFACE              EnableSurface;
+    PGD_DISABLESURFACE             DisableSurface;
+    PGD_ASSERTMODE                 AssertMode;
+    PGD_OFFSET                     Offset;
+    PGD_RESETPDEV                  ResetPDEV;
+    PGD_DISABLEDRIVER              DisableDriver;
+    PVOID                          Unknown1;
+    PGD_CREATEDEVICEBITMAP         CreateDeviceBitmap;
+    PGD_DELETEDEVICEBITMAP         DeleteDeviceBitmap;
+    PGD_REALIZEBRUSH               RealizeBrush;
+    PGD_DITHERCOLOR                DitherColor;
+    PGD_STROKEPATH                 StrokePath;
+    PGD_FILLPATH                   FillPath;
+    PGD_STROKEANDFILLPATH          StrokeAndFillPath;
+    PGD_PAINT                      Paint;
+    PGD_BITBLT                     BitBlt;
+    PGD_COPYBITS                   CopyBits;
+    PGD_STRETCHBLT                 StretchBlt;
+    PVOID                          Unknown2;
+    PGD_SETPALETTE                 SetPalette;
+    PGD_TEXTOUT                    TextOut;
+    PGD_ESCAPE                     Escape;
+    PGD_DRAWESCAPE                 DrawEscape;
+    PGD_QUERYFONT                  QueryFont;
+    PGD_QUERYFONTTREE              QueryFontTree;
+    PGD_QUERYFONTDATA              QueryFontData;
+    PGD_SETPOINTERSHAPE            SetPointerShape;
+    PGD_MOVEPOINTER                MovePointer;
+    PGD_LINETO                     LineTo;
+    PGD_SENDPAGE                   SendPage;
+    PGD_STARTPAGE                  StartPage;
+    PGD_ENDDOC                     EndDoc;
+    PGD_STARTDOC                   StartDoc;
+    PVOID                          Unknown3; 
+    PGD_GETGLYPHMODE               GetGlyphMode;
+    PGD_SYNCHRONIZE                Synchronize;
+    PVOID                          Unknown4; 
+    PGD_SAVESCREENBITS             SaveScreenBits;
+    PGD_GETMODES                   GetModes;
+    PGD_FREE                       Free;
+    PGD_DESTROYFONT                DestroyFont;
+    PGD_QUERYFONTCAPS              QueryFontCaps;
+    PGD_LOADFONTFILE               LoadFontFile;
+    PGD_UNLOADFONTFILE             UnloadFontFile;
+    PGD_FONTMANAGEMENT             FontManagement;
+    PGD_QUERYTRUETYPETABLE         QueryTrueTypeTable;
+    PGD_QUERYTRUETYPEOUTLINE       QueryTrueTypeOutline;
+    PGD_GETTRUETYPEFILE            GetTrueTypeFile;
+    PGD_QUERYFONTFILE              QueryFontFile;
+    PFN_DrvMovePanning             MovePanning;
+    PGD_QUERYADVANCEWIDTHS         QueryAdvanceWidths;
+    PGD_SETPIXELFORMAT             SetPixelFormat;
+    PGD_DESCRIBEPIXELFORMAT        DescribePixelFormat;
+    PGD_SWAPBUFFERS                SwapBuffers;
+    PGD_STARTBANDING               StartBanding;
+    PGD_NEXTBAND                   NextBand;
+    PGD_GETDIRECTDRAWINFO          GetDirectDrawInfo;
+    PGD_ENABLEDIRECTDRAW           EnableDirectDraw;
+    PGD_DISABLEDIRECTDRAW          DisableDirectDraw;
+    PGD_QUERYSPOOLTYPE             QuerySpoolType;
+    PVOID                          Unknown5;
+    PFN_DrvIcmCreateColorTransform IcmCreateColorTransform;
+    PFN_DrvIcmDeleteColorTransform IcmDeleteColorTransform;
+    PFN_DrvIcmCheckBitmapBits      IcmCheckBitmapBits;
+    PFN_DrvIcmSetDeviceGammaRamp   IcmSetDeviceGammaRamp;
+    PGD_GRADIENTFILL               GradientFill;
+    PGD_STRETCHBLTROP              StretchBltROP;
+    PFN_DrvPlgBlt                  PlgBlt;
+    PGD_ALPHABLEND                 AlphaBlend;
+    PVOID                          SynthesizeFont;
+    PVOID                          GetSynthesizedFontFiles;
+    PGD_TRANSPARENTBLT             TransparentBlt;
+    PFN_DrvQueryPerBandInfo        QueryPerBandInfo;
+    PFN_DrvQueryDeviceSupport      QueryDeviceSupport;
+    PVOID                          Reserved1;
+    PVOID                          Reserved2;
+    PVOID                          Reserved3;
+    PVOID                          Reserved4;
+    PVOID                          Reserved5;
+    PVOID                          Reserved6;
+    PVOID                          Reserved7;
+    PVOID                          Reserved8;
+    PFN_DrvDeriveSurface           DeriveSurface;
+    PFN_DrvQueryGlyphAttrs         QueryGlyphAttrs;
+    PFN_DrvNotify                  Notify;
+    PGD_SYNCHRONIZESURFACE         SynchronizeSurface;
+    PFN_DrvResetDevice             ResetDevice;
+    PVOID                          Reserved9;
+    PVOID                          Reserved10;
+    PVOID                          Reserved11; /* 92 */
+    
+    /* ReactOS specify */
+    PGD_ENABLEDRIVER               EnableDriver; //ReactOS Extra
+} DRIVER_FUNCTIONS, *PDRIVER_FUNCTIONS;
+
+/* FIXME move to more proper place, Vista syscall */
+DWORD STDCALL NtGdiConfigureOPMProtectedOutput(DWORD x1, DWORD x2, DWORD x3, DWORD x4);
+DWORD STDCALL NtGdiCreateOPMProtectedOutputs(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5);
+
+/* Doc exists in msdn see ReactOS def file which D3DKMT* it is, rember I have not check if the doc are correct, 
+ * it is for the drv, which api it should export. 
+ * comucate way 
+ * gdi32.dll -- Direcly syscall --> win33k.sys 
+ * win33k.sys -- doing direct call to -->dxkrnl.sys (note dxkrnl doing allot work here) 
+ * dxkrnl.sys (note dxkrnl doing allot work here) -- the drv export function --> graphic drv,
+ * this api should move to more proper place later. 
+ */
+DWORD STDCALL NtGdiDdDDICheckExclusiveOwnership();
+DWORD STDCALL NtGdiDdDDICheckMonitorPowerState(DWORD x1);
+DWORD STDCALL NtGdiDdDDICheckOcclusion(DWORD x1);
+DWORD STDCALL NtGdiDdDDICloseAdapter(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateAllocation(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateContext(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateDCFromMemory(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateDevice(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateOverlay(DWORD x1);
+DWORD STDCALL NtGdiDdDDICreateSynchronizationObject(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroyAllocation(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroyContext(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroyDCFromMemory(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroyDevice(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroyOverlay(DWORD x1);
+DWORD STDCALL NtGdiDdDDIDestroySynchronizationObject(DWORD x1);
+DWORD STDCALL NtGdiDdDDIEscape(DWORD x1);
+DWORD STDCALL NtGdiDdDDIFlipOverlay(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetContextSchedulingPriority(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetDeviceState(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetDisplayModeList(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetMultisampleMethodList(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetPresentHistory(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetProcessSchedulingPriorityClass(DWORD x1, DWORD x2);
+DWORD STDCALL NtGdiDdDDIGetRuntimeData(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetScanLine(DWORD x1);
+DWORD STDCALL NtGdiDdDDIGetSharedPrimaryHandle(DWORD x1);
+DWORD STDCALL NtGdiDdDDIInvalidateActiveVidPn(DWORD x1);
+DWORD STDCALL NtGdiDdDDILock(DWORD x1);
+DWORD STDCALL NtGdiDdDDIOpenAdapterFromDeviceName(DWORD x1);
+DWORD STDCALL NtGdiDdDDIOpenAdapterFromHdc(DWORD x1);
+DWORD STDCALL NtGdiDdDDIOpenResource(DWORD x1);
+DWORD STDCALL NtGdiDdDDIPollDisplayChildren(DWORD x1);
+DWORD STDCALL NtGdiDdDDIPresent(DWORD x1);
+DWORD STDCALL NtGdiDdDDIQueryAdapterInfo(DWORD x1);
+DWORD STDCALL NtGdiDdDDIQueryAllocationResidency(DWORD x1);
+DWORD STDCALL NtGdiDdDDIQueryResourceInfo(DWORD x1);
+DWORD STDCALL NtGdiDdDDIQueryStatistics(DWORD x1);
+DWORD STDCALL NtGdiDdDDIReleaseProcessVidPnSourceOwners(DWORD x1);
+DWORD STDCALL NtGdiDdDDIRender(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetAllocationPriority(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetContextSchedulingPriority(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetDisplayMode(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetDisplayPrivateDriverFormat(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetGammaRamp(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, x2);
+DWORD STDCALL NtGdiDdDDISetQueuedLimit(DWORD x1);
+DWORD STDCALL NtGdiDdDDISetVidPnSourceOwner(DWORD x1);
+DWORD STDCALL NtGdiDdDDISharedPrimaryLockNotification(DWORD x1);
+DWORD STDCALL NtGdiDdDDISharedPrimaryUnLockNotification(DWORD x1);
+DWORD STDCALL NtGdiDdDDISignalSynchronizationObject(DWORD x1);
+DWORD STDCALL NtGdiDdDDIUnlock(DWORD x1);
+DWORD STDCALL NtGdiDdDDIUpdateOverlay(DWORD x1);
+DWORD STDCALL NtGdiDdDDIWaitForIdle(DWORD x1);
+DWORD STDCALL NtGdiDdDDIWaitForSynchronizationObject(DWORD x1);
+DWORD STDCALL NtGdiDdDDIWaitForVerticalBlankEvent(DWORD x1);
+DWORD STDCALL NtGdiDDCCIGetCapabilitiesString(DWORD x1, DWORD x2, DWORD x3);
+DWORD STDCALL NtGdiDDCCIGetCapabilitiesStringLength(DWORD x1, DWORD x2);
+DWORD STDCALL NtGdiDDCCIGetTimingReport(DWORD x1, DWORD x2);
+DWORD STDCALL NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4);
+DWORD STDCALL NtGdiDDCCISaveCurrentSettings(DWORD x1);
+DWORD STDCALL NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3);
+
+
+
+#endif

Added: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c
URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c?rev=33593&view=auto
==============================================================================
--- branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c (added)
+++ branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c [iso-8859-1] Sun May 18 13:33:27 2008
@@ -1,0 +1,507 @@
+/*
+ * COPYRIGHT:        See COPYING in the top level directory
+ * PROJECT:          ReactOS kernel
+ * PURPOSE:          Native DirectDraw implementation
+ * FILE:             subsys/win32k/ntddraw/d3d.c
+ * PROGRAMER:        Magnus olsen (magnus at greatlord.com)
+ * REVISION HISTORY:
+ *       18/5-2008   Magnus Olsen
+ */
+
+
+#include <w32k.h>
+#include <debug.h>
+
+DWORD
+STDCALL
+NtGdiDdDDICheckExclusiveOwnership()
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICheckMonitorPowerState(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICheckOcclusion(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICloseAdapter(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateAllocation(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateContext(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateDCFromMemory(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateDevice(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateOverlay(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDICreateSynchronizationObject(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIDestroyAllocation(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+NtGdiDdDDIDestroyContext(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIDestroyDCFromMemory(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIDestroyDevice(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIDestroyOverlay(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIDestroySynchronizationObject(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIEscape(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIFlipOverlay(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetContextSchedulingPriority(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetDeviceState(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetDisplayModeList(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetMultisampleMethodList(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetPresentHistory(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetProcessSchedulingPriorityClass
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetRuntimeData(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetScanLine(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIGetSharedPrimaryHandle(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIInvalidateActiveVidPn(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDILock(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIOpenAdapterFromDeviceName(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIOpenAdapterFromHdc(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIOpenResource(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIPollDisplayChildren(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIPresent(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIQueryAdapterInfo(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIQueryAllocationResidency(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIQueryResourceInfo(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIQueryStatistics(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIReleaseProcessVidPnSourceOwners(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIRender(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetAllocationPriority(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetContextSchedulingPriority(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetDisplayMode(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetDisplayPrivateDriverFormat(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetGammaRamp(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetProcessSchedulingPriorityClass(DWORD x1, x2)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetQueuedLimit(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISetVidPnSourceOwner(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISharedPrimaryLockNotification(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISharedPrimaryUnLockNotification(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDISignalSynchronizationObject(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIUnlock(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIUpdateOverlay(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIWaitForIdle(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIWaitForSynchronizationObject(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDdDDIWaitForVerticalBlankEvent(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCIGetCapabilitiesString(DWORD x1, DWORD x2, DWORD x3)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCIGetCapabilitiesStringLength(DWORD x1, DWORD x2)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCIGetTimingReport(DWORD x1, DWORD x2)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCIGetVCPFeature(DWORD x1, DWORD x2, DWORD x3, DWORD x4)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCISaveCurrentSettings(DWORD x1)
+{
+	UNIMPLEMENTED;
+	return 0
+}
+
+DWORD
+STDCALL
+NtGdiDDCCISetVCPFeature(DWORD x1, DWORD x2, DWORD x3)
+{
+	UNIMPLEMENTED;
+	return 0
+}

Propchange: branches/win32k-gdi-dx/subsystems/win32/win32k/ntddraw/d3dkmt.c
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c
URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c?rev=33593&r1=33592&r2=33593&view=diff
==============================================================================
--- branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] (original)
+++ branches/win32k-gdi-dx/subsystems/win32/win32k/stubs/stubs.c [iso-8859-1] Sun May 18 13:33:27 2008
@@ -2974,3 +2974,11 @@
 	UNIMPLEMENTED;
 	return 0
 }
+
+DWORD
+STDCALL
+NtGdiCreateOPMProtectedOutputs(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5)
+{
+	UNIMPLEMENTED;
+	return 0
+}

Modified: branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db
URL: http://svn.reactos.org/svn/reactos/branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db?rev=33593&r1=33592&r2=33593&view=diff
==============================================================================
--- branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] (original)
+++ branches/win32k-gdi-dx/subsystems/win32/win32k/w32ksvc.db [iso-8859-1] Sun May 18 13:33:27 2008
@@ -674,7 +674,70 @@
 #
 #
 # Vista Syscall add on
-NtGdiConfigureOPMProtectedOutput                 4
+NtGdiConfigureOPMProtectedOutput                4
+NtGdiCreateOPMProtectedOutputs                  5
+NtGdiDdDDICheckExclusiveOwnership               0
+NtGdiDdDDICheckMonitorPowerState                1
+NtGdiDdDDICheckOcclusion                        1
+NtGdiDdDDICloseAdapter                          1
+NtGdiDdDDICreateAllocation                      1
+NtGdiDdDDICreateContext                         1
+NtGdiDdDDICreateDCFromMemory                    1
+NtGdiDdDDICreateDevice                          1
+NtGdiDdDDICreateOverlay                         1
+NtGdiDdDDICreateSynchronizationObject           1
+NtGdiDdDDIDestroyAllocation                     1
+NtGdiDdDDIDestroyContext                        1
+NtGdiDdDDIDestroyDCFromMemory                   1
+NtGdiDdDDIDestroyDevice                         1
+NtGdiDdDDIDestroyOverlay                        1
+NtGdiDdDDIDestroySynchronizationObject          1
+NtGdiDdDDIEscape                                1
+NtGdiDdDDIFlipOverlay                           1
+NtGdiDdDDIGetContextSchedulingPriority          1
+NtGdiDdDDIGetDeviceState                        1
+NtGdiDdDDIGetDisplayModeList                    1
+NtGdiDdDDIGetMultisampleMethodList              1
+NtGdiDdDDIGetPresentHistory                     1
+NtGdiDdDDIGetProcessSchedulingPriorityClass     2
+NtGdiDdDDIGetRuntimeData                        1
+NtGdiDdDDIGetScanLine                           1
+NtGdiDdDDIGetSharedPrimaryHandle                1
+NtGdiDdDDIInvalidateActiveVidPn                 1
+NtGdiDdDDILock                                  1
+NtGdiDdDDIOpenAdapterFromDeviceName             1
+NtGdiDdDDIOpenAdapterFromHdc                    1
+NtGdiDdDDIOpenResource                          1
+NtGdiDdDDIPollDisplayChildren                   1
+NtGdiDdDDIPresent                               1
+NtGdiDdDDIQueryAdapterInfo                      1
+NtGdiDdDDIQueryAllocationResidency              1 
+NtGdiDdDDIQueryResourceInfo                     1
+NtGdiDdDDIQueryStatistics                       1
+NtGdiDdDDIReleaseProcessVidPnSourceOwners       1
+NtGdiDdDDIRender                                1
+NtGdiDdDDISetAllocationPriority                 1
+NtGdiDdDDISetContextSchedulingPriority          1
+NtGdiDdDDISetDisplayMode                        1
+NtGdiDdDDISetDisplayPrivateDriverFormat         1
+NtGdiDdDDISetGammaRamp                          1
+NtGdiDdDDISetProcessSchedulingPriorityClass     1
+NtGdiDdDDISetQueuedLimit                        1
+NtGdiDdDDISetVidPnSourceOwner                   1
+NtGdiDdDDISharedPrimaryLockNotification         1
+NtGdiDdDDISharedPrimaryUnLockNotification       1
+NtGdiDdDDISignalSynchronizationObject           1
+NtGdiDdDDIUnlock                                1
+NtGdiDdDDIUpdateOverlay                         1
+NtGdiDdDDIWaitForIdle                           1
+NtGdiDdDDIWaitForSynchronizationObject          1
+NtGdiDdDDIWaitForVerticalBlankEvent             1
+NtGdiDDCCIGetCapabilitiesString                 3
+NtGdiDDCCIGetCapabilitiesStringLength           2
+NtGdiDDCCIGetTimingReport                       2
+NtGdiDDCCIGetVCPFeature                         4
+NtGdiDDCCISaveCurrentSettings                   1
+NtGdiDDCCISetVCPFeature                         3
 #
 #
 #ReactOS specific syscalls



More information about the Ros-diffs mailing list