[ros-dev] [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
Alex Ionescu
ionucu at videotron.ca
Mon May 19 04:39:47 CEST 2008
Why the hell are you putting function headers in a header called "types"?
On Mon, May 19, 2008 at 2:33 AM, <greatlrd at svn.reactos.org> wrote:
> 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
>
>
--
Best regards,
Alex Ionescu
More information about the Ros-dev
mailing list