- NtUserWaitForInputIdle: Call EngGetTickCount, removing duplicated code
[reactos.git] / reactos / subsystems / win32 / win32k / stubs / stubs.c
index a0e80a7..96f0736 100644 (file)
@@ -4,7 +4,6 @@
 
 #include <w32k.h>
 
-#define STUB(x) void x(void) { DbgPrint("WIN32K: Stub for %s\n", #x); }
 #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ )
 
 
@@ -14,7 +13,7 @@
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngMapFontFileFD (
        IN  ULONG_PTR  iFile,
        OUT PULONG    *ppjBuf,
@@ -30,7 +29,7 @@ EngMapFontFileFD (
  * @unimplemented
  */
 VOID
-STDCALL
+APIENTRY
 EngUnmapFontFileFD ( IN ULONG_PTR iFile )
 {
   // http://www.osr.com/ddk/graphics/gdifncs_6wbr.htm
@@ -41,7 +40,7 @@ EngUnmapFontFileFD ( IN ULONG_PTR iFile )
  * @implemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngMapFontFile (
        ULONG_PTR  iFile,
        PULONG    *ppjBuf,
@@ -56,18 +55,18 @@ EngMapFontFile (
  * @implemented
  */
 VOID
-STDCALL
+APIENTRY
 EngUnmapFontFile ( ULONG_PTR iFile )
 {
   // www.osr.com/ddk/graphics/gdifncs_09wn.htm
 return EngUnmapFontFileFD ( iFile );
+ EngUnmapFontFileFD ( iFile );
 }
 
 /*
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngTextOut (
        SURFOBJ  *pso,
        STROBJ   *pstro,
@@ -90,7 +89,7 @@ EngTextOut (
  * @unimplemented
  */
 PATHOBJ*
-STDCALL
+APIENTRY
 CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
 {
   // www.osr.com/ddk/graphics/gdifncs_6hbb.htm
@@ -102,7 +101,7 @@ CLIPOBJ_ppoGetPath ( IN CLIPOBJ *pco )
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngCheckAbort ( IN SURFOBJ *pso )
 {
   // www.osr.com/ddk/graphics/gdifncs_3u7b.htm
@@ -114,7 +113,7 @@ EngCheckAbort ( IN SURFOBJ *pso )
  * @unimplemented
  */
 FD_GLYPHSET*
-STDCALL
+APIENTRY
 EngComputeGlyphSet(
        IN INT nCodePage,
        IN INT nFirstChar,
@@ -130,7 +129,7 @@ EngComputeGlyphSet(
  * @unimplemented
  */
 PATHOBJ*
-STDCALL
+APIENTRY
 EngCreatePath ( VOID )
 {
   // www.osr.com/ddk/graphics/gdifncs_4aav.htm
@@ -142,7 +141,7 @@ EngCreatePath ( VOID )
  * @unimplemented
  */
 VOID
-STDCALL
+APIENTRY
 EngDeletePath ( IN PATHOBJ *ppo )
 {
   // www.osr.com/ddk/graphics/gdifncs_3fl3.htm
@@ -153,7 +152,7 @@ EngDeletePath ( IN PATHOBJ *ppo )
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngEnumForms (
        IN  HANDLE   hPrinter,
        IN  DWORD    Level,
@@ -172,7 +171,7 @@ EngEnumForms (
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngFillPath (
        IN SURFOBJ   *pso,
        IN PATHOBJ   *ppo,
@@ -192,7 +191,7 @@ EngFillPath (
  * @unimplemented
  */
 PVOID
-STDCALL
+APIENTRY
 EngFindResource(
        IN  HANDLE  h,
        IN  int     iName,
@@ -209,7 +208,7 @@ EngFindResource(
  * @unimplemented
  */
 VOID
-STDCALL
+APIENTRY
 EngFreeModule ( IN HANDLE h )
 {
   // www.osr.com/ddk/graphics/gdifncs_9fzb.htm
@@ -221,7 +220,7 @@ EngFreeModule ( IN HANDLE h )
  * @unimplemented
  */
 LPWSTR
-STDCALL
+APIENTRY
 EngGetDriverName ( IN HDEV hdev )
 {
   // www.osr.com/ddk/graphics/gdifncs_2gx3.htm
@@ -233,7 +232,7 @@ EngGetDriverName ( IN HDEV hdev )
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngGetFileChangeTime(
        IN  HANDLE          h,
        OUT LARGE_INTEGER  *pChangeTime
@@ -248,7 +247,7 @@ EngGetFileChangeTime(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngGetFilePath(
        IN  HANDLE h,
         OUT WCHAR (*pDest)[MAX_PATH+1]
@@ -263,7 +262,7 @@ EngGetFilePath(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngGetForm(
        IN  HANDLE   hPrinter,
        IN  LPWSTR   pFormName,
@@ -282,7 +281,7 @@ EngGetForm(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngGetPrinter(
        IN  HANDLE   hPrinter,
        IN  DWORD    dwLevel,
@@ -300,7 +299,7 @@ EngGetPrinter(
  * @unimplemented
  */
 DWORD
-STDCALL
+APIENTRY
 EngGetPrinterData(
        IN  HANDLE   hPrinter,
        IN  LPWSTR   pValueName,
@@ -319,7 +318,7 @@ EngGetPrinterData(
  * @unimplemented
  */
 LPWSTR
-STDCALL
+APIENTRY
 EngGetPrinterDataFileName ( IN HDEV hdev )
 {
   // www.osr.com/ddk/graphics/gdifncs_2giv.htm
@@ -331,7 +330,7 @@ EngGetPrinterDataFileName ( IN HDEV hdev )
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngGetType1FontList(
        IN  HDEV            hdev,
        OUT TYPE1_FONT     *pType1Buffer,
@@ -350,7 +349,7 @@ EngGetType1FontList(
  * @unimplemented
  */
 HANDLE
-STDCALL
+APIENTRY
 EngLoadModuleForWrite(
        IN LPWSTR  pwsz,
        IN ULONG   cjSizeOfModule
@@ -365,7 +364,7 @@ EngLoadModuleForWrite(
  * @unimplemented
  */
 PVOID
-STDCALL
+APIENTRY
 EngMapModule(
        IN  HANDLE  h,
        OUT PULONG  pSize
@@ -380,7 +379,7 @@ EngMapModule(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 EngMarkBandingSurface ( IN HSURF hsurf )
 {
   // www.osr.com/ddk/graphics/gdifncs_2jon.htm
@@ -389,7 +388,7 @@ EngMarkBandingSurface ( IN HSURF hsurf )
 }
 
 INT
-STDCALL
+APIENTRY
 EngMultiByteToWideChar(
        IN UINT  CodePage,
        OUT LPWSTR  WideCharString,
@@ -404,7 +403,7 @@ EngMultiByteToWideChar(
 }
 
 VOID
-STDCALL
+APIENTRY
 EngQueryLocalTime ( OUT PENG_TIME_FIELDS ptf )
 {
   // www.osr.com/ddk/graphics/gdifncs_389z.htm
@@ -412,7 +411,7 @@ EngQueryLocalTime ( OUT PENG_TIME_FIELDS ptf )
 }
 
 ULONG
-STDCALL
+APIENTRY
 EngQueryPalette(
        IN HPALETTE  hPal,
        OUT ULONG  *piMode,
@@ -426,7 +425,7 @@ EngQueryPalette(
 }
 
 BOOL
-STDCALL
+APIENTRY
 EngSetPointerTag(
        IN HDEV  hdev,
        IN SURFOBJ  *psoMask,
@@ -442,7 +441,7 @@ EngSetPointerTag(
 }
 
 DWORD
-STDCALL
+APIENTRY
 EngSetPrinterData(
        IN HANDLE  hPrinter,
        IN LPWSTR  pType,
@@ -457,7 +456,7 @@ EngSetPrinterData(
 }
 
 BOOL
-STDCALL
+APIENTRY
 EngStrokeAndFillPath(
        IN SURFOBJ  *pso,
        IN PATHOBJ  *ppo,
@@ -477,7 +476,7 @@ EngStrokeAndFillPath(
 }
 
 BOOL
-STDCALL
+APIENTRY
 EngStrokePath(
        IN SURFOBJ  *pso,
        IN PATHOBJ  *ppo,
@@ -496,7 +495,7 @@ EngStrokePath(
 
 
 INT
-STDCALL
+APIENTRY
 EngWideCharToMultiByte(
        IN UINT  CodePage,
        IN LPWSTR  WideCharString,
@@ -511,7 +510,7 @@ EngWideCharToMultiByte(
 }
 
 BOOL
-STDCALL
+APIENTRY
 EngWritePrinter (
        IN HANDLE    hPrinter,
        IN LPVOID    pBuf,
@@ -528,7 +527,7 @@ EngWritePrinter (
  * @unimplemented
  */
 ULONG
-STDCALL
+APIENTRY
 FONTOBJ_cGetAllGlyphHandles (
        IN FONTOBJ  *FontObj,
        IN HGLYPH   *Glyphs
@@ -542,7 +541,7 @@ FONTOBJ_cGetAllGlyphHandles (
  * @unimplemented
  */
 ULONG
-STDCALL
+APIENTRY
 FONTOBJ_cGetGlyphs(
        IN FONTOBJ *FontObj,
        IN ULONG    Mode,
@@ -559,7 +558,7 @@ FONTOBJ_cGetGlyphs(
  * @unimplemented
  */
 IFIMETRICS*
-STDCALL
+APIENTRY
 FONTOBJ_pifi ( IN FONTOBJ *FontObj )
 {
   UNIMPLEMENTED;
@@ -570,7 +569,7 @@ FONTOBJ_pifi ( IN FONTOBJ *FontObj )
  * @unimplemented
  */
 PVOID
-STDCALL
+APIENTRY
 FONTOBJ_pvTrueTypeFontFile (
        IN FONTOBJ  *FontObj,
        IN ULONG    *FileSize)
@@ -583,7 +582,7 @@ FONTOBJ_pvTrueTypeFontFile (
  * @unimplemented
  */
 XFORMOBJ*
-STDCALL
+APIENTRY
 FONTOBJ_pxoGetXform ( IN FONTOBJ *FontObj )
 {
   UNIMPLEMENTED;
@@ -594,7 +593,7 @@ FONTOBJ_pxoGetXform ( IN FONTOBJ *FontObj )
  * @unimplemented
  */
 VOID
-STDCALL
+APIENTRY
 FONTOBJ_vGetInfo (
        IN  FONTOBJ   *FontObj,
        IN  ULONG      InfoSize,
@@ -604,7 +603,7 @@ FONTOBJ_vGetInfo (
 }
 
 LONG
-STDCALL
+APIENTRY
 HT_ComputeRGBGammaTable(
        IN USHORT  GammaTableEntries,
        IN USHORT  GammaTableType,
@@ -620,7 +619,7 @@ HT_ComputeRGBGammaTable(
 }
 
 LONG
-STDCALL
+APIENTRY
 HT_Get8BPPFormatPalette(
        OUT LPPALETTEENTRY  pPaletteEntry,
        IN USHORT  RedGamma,
@@ -634,7 +633,7 @@ HT_Get8BPPFormatPalette(
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
 {
   // www.osr.com/ddk/graphics/gdifncs_5mhz.htm
@@ -643,7 +642,7 @@ PATHOBJ_bCloseFigure ( IN PATHOBJ *ppo )
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bEnum (
        IN  PATHOBJ   *ppo,
        OUT PATHDATA  *ppd
@@ -655,7 +654,7 @@ PATHOBJ_bEnum (
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bEnumClipLines(
        IN PATHOBJ  *ppo,
        IN ULONG  cb,
@@ -668,7 +667,7 @@ PATHOBJ_bEnumClipLines(
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bMoveTo(
        IN PATHOBJ  *ppo,
        IN POINTFIX  ptfx
@@ -680,7 +679,7 @@ PATHOBJ_bMoveTo(
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bPolyBezierTo(
        IN PATHOBJ  *ppo,
        IN POINTFIX  *pptfx,
@@ -693,7 +692,7 @@ PATHOBJ_bPolyBezierTo(
 }
 
 BOOL
-STDCALL
+APIENTRY
 PATHOBJ_bPolyLineTo(
        IN PATHOBJ  *ppo,
        IN POINTFIX  *pptfx,
@@ -706,7 +705,7 @@ PATHOBJ_bPolyLineTo(
 }
 
 VOID
-STDCALL
+APIENTRY
 PATHOBJ_vEnumStart ( IN PATHOBJ *ppo )
 {
   // www.osr.com/ddk/graphics/gdifncs_74br.htm
@@ -714,7 +713,7 @@ PATHOBJ_vEnumStart ( IN PATHOBJ *ppo )
 }
 
 VOID
-STDCALL
+APIENTRY
 PATHOBJ_vEnumStartClipLines(
        IN PATHOBJ  *ppo,
        IN CLIPOBJ  *pco,
@@ -727,7 +726,7 @@ PATHOBJ_vEnumStartClipLines(
 }
 
 VOID
-STDCALL
+APIENTRY
 PATHOBJ_vGetBounds(
        IN PATHOBJ  *ppo,
        OUT PRECTFX  prectfx
@@ -737,86 +736,10 @@ PATHOBJ_vGetBounds(
   UNIMPLEMENTED;
 }
 
-BOOL
-STDCALL
-STROBJ_bEnum(
-       IN STROBJ  *pstro,
-       OUT ULONG  *pc,
-       OUT PGLYPHPOS  *ppgpos
-       )
-{
-  // www.osr.com/ddk/graphics/gdifncs_65uv.htm
-  UNIMPLEMENTED;
-  return FALSE;
-}
-
-DWORD
-STDCALL
-STROBJ_dwGetCodePage ( IN STROBJ *pstro )
-{
-  // www.osr.com/ddk/graphics/gdifncs_9jmv.htm
-  UNIMPLEMENTED;
-  return 0;
-}
-
-VOID
-STDCALL
-STROBJ_vEnumStart ( IN STROBJ *pstro )
-{
-  // www.osr.com/ddk/graphics/gdifncs_32uf.htm
-  UNIMPLEMENTED;
-}
-
-BOOL
-STDCALL
-XFORMOBJ_bApplyXform(
-       IN XFORMOBJ  *pxo,
-       IN ULONG  iMode,
-       IN ULONG  cPoints,
-       IN PVOID  pvIn,
-       OUT PVOID  pvOut
-       )
-{
-  // www.osr.com/ddk/graphics/gdifncs_027b.htm
-  UNIMPLEMENTED;
-  return FALSE;
-}
-
-ULONG
-STDCALL
-XFORMOBJ_iGetFloatObjXform(
-       IN XFORMOBJ  *pxo,
-       OUT FLOATOBJ_XFORM  *pxfo
-       )
-{
-  // www.osr.com/ddk/graphics/gdifncs_5ig7.htm
-  UNIMPLEMENTED;
-  return 0;
-}
-
-ULONG
-STDCALL
-XFORMOBJ_iGetXform(
-       IN XFORMOBJ  *pxo,
-       OUT XFORML  *pxform
-       )
-{
-  // www.osr.com/ddk/graphics/gdifncs_0s2v.htm
-  UNIMPLEMENTED;
-  return 0;
-}
-
-// below here aren't in DDK!!!
-
-STUB(FLOATOBJ_AddFloatObj)
-STUB(FLOATOBJ_DivFloatObj)
-STUB(FLOATOBJ_MulFloatObj)
-STUB(FLOATOBJ_SubFloatObj)
-
 /*
  * @unimplemented
  */
-ULONG STDCALL
+ULONG APIENTRY
 EngDitherColor(
    IN HDEV hdev,
    IN ULONG iMode,
@@ -827,21 +750,34 @@ EngDitherColor(
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngQuerySystemAttribute(
    IN ENG_SYSTEM_ATTRIBUTE CapNum,
    OUT PDWORD pCapability)
 {
+  SYSTEM_BASIC_INFORMATION sbi;
+  SYSTEM_PROCESSOR_INFORMATION spi;
+
    switch (CapNum)
    {
       case EngNumberOfProcessors:
-         *pCapability = 1;
+         NtQuerySystemInformation(
+                SystemBasicInformation,
+               &sbi,
+                sizeof(SYSTEM_BASIC_INFORMATION),
+                NULL);
+         *pCapability = sbi.NumberOfProcessors;
          return TRUE;
 
       case EngProcessorFeature:
-         *pCapability = 0;
+         NtQuerySystemInformation(
+                SystemProcessorInformation,
+               &spi,
+                sizeof(SYSTEM_PROCESSOR_INFORMATION),
+                NULL);
+         *pCapability = spi.ProcessorFeatureBits;
          return TRUE;
 
       default:
@@ -851,36 +787,11 @@ EngQuerySystemAttribute(
    return FALSE;
 }
 
-/*
- * @unimplemented
- */
-FLATPTR STDCALL
-HeapVidMemAllocAligned(
-   IN LPVIDMEM lpVidMem,
-   IN DWORD dwWidth,
-   IN DWORD dwHeight,
-   IN LPSURFACEALIGNMENT lpAlignment,
-   OUT LPLONG lpNewPitch)
-{
-   UNIMPLEMENTED;
-   return 0;
-}
-
-/*
- * @unimplemented
- */
-VOID STDCALL
-VidMemFree(
-   IN LPVMEMHEAP pvmh,
-   IN FLATPTR ptr)
-{
-   UNIMPLEMENTED;
-}
 
 /*
  * @unimplemented
  */
-HANDLE STDCALL
+HANDLE APIENTRY
 BRUSHOBJ_hGetColorTransform(
    IN BRUSHOBJ *Brush)
 {
@@ -891,30 +802,20 @@ BRUSHOBJ_hGetColorTransform(
 /*
  * @unimplemented
  */
-PVOID STDCALL
-EngAllocPrivateUserMem(
-   IN PDD_SURFACE_LOCAL  psl,
-   IN SIZE_T  cj,
-   IN ULONG  tag)
-{
-   UNIMPLEMENTED;
-   return NULL;
-}
-
-/*
- * @unimplemented
- */
-VOID STDCALL
+VOID
+APIENTRY
 EngClearEvent(
    IN PEVENT Event)
 {
-   UNIMPLEMENTED;
+    /* Forward to the kernel */
+    KeClearEvent((PKEVENT)Event);
 }
 
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL
+APIENTRY
 EngDeleteFile(
    IN LPWSTR FileName)
 {
@@ -922,21 +823,12 @@ EngDeleteFile(
    return FALSE;
 }
 
-/*
- * @unimplemented
- */
-VOID STDCALL
-EngFreePrivateUserMem(
-   IN PDD_SURFACE_LOCAL  psl,
-   IN PVOID  pv)
-{
-   UNIMPLEMENTED;
-}
+
 
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngGetPrinterDriver(
    IN HANDLE Printer,
    IN LPWSTR Environment,
@@ -952,7 +844,7 @@ EngGetPrinterDriver(
 /*
  * @unimplemented
  */
-ULONG STDCALL
+ULONG APIENTRY
 EngHangNotification(
    IN HDEV Dev,
    IN PVOID Reserved)
@@ -961,21 +853,12 @@ EngHangNotification(
    return EHN_ERROR;
 }
 
-/*
- * @unimplemented
- */
-PDD_SURFACE_LOCAL STDCALL
-EngLockDirectDrawSurface(
-   IN HANDLE Surface)
-{
-   UNIMPLEMENTED;
-   return NULL;
-}
+
 
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngLpkInstalled()
 {
    UNIMPLEMENTED;
@@ -985,7 +868,7 @@ EngLpkInstalled()
 /*
  * @unimplemented
  */
-PVOID STDCALL
+PVOID APIENTRY
 EngMapFile(
    IN LPWSTR Filename,
    IN ULONG Size,
@@ -998,7 +881,7 @@ EngMapFile(
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngPlgBlt(
    IN SURFOBJ *Dest,
    IN SURFOBJ *Source,
@@ -1019,7 +902,7 @@ EngPlgBlt(
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngQueryDeviceAttribute(
    IN HDEV Device,
    IN ENG_DEVICE_ATTRIBUTE Attribute,
@@ -1035,14 +918,27 @@ EngQueryDeviceAttribute(
 /*
  * @unimplemented
  */
-LONG STDCALL
+LARGE_INTEGER
+APIENTRY
+EngQueryFileTimeStamp(IN LPWSTR FileName)
+{
+   LARGE_INTEGER FileTime;
+   FileTime.QuadPart = 0;
+   UNIMPLEMENTED;
+   return FileTime;
+}
+
+/*
+ * @unimplemented
+ */
+LONG APIENTRY
 EngReadStateEvent(
    IN PEVENT Event)
 {
    UNIMPLEMENTED;
    return 0;
 }
-BOOL STDCALL
+BOOL APIENTRY
 EngStretchBltROP(
    IN SURFOBJ *Dest,
    IN SURFOBJ *Source,
@@ -1062,21 +958,11 @@ EngStretchBltROP(
    return FALSE;
 }
 
-/*
- * @unimplemented
- */
-BOOL STDCALL
-EngUnlockDirectDrawSurface(
-   IN PDD_SURFACE_LOCAL Surface)
-{
-   UNIMPLEMENTED;
-   return FALSE;
-}
 
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 EngUnmapFile(
    IN ULONG_PTR File)
 {
@@ -1087,7 +973,7 @@ EngUnmapFile(
 /*
  * @unimplemented
  */
-FD_GLYPHSET * STDCALL
+FD_GLYPHSET * APIENTRY
 FONTOBJ_pfdg(
    IN FONTOBJ *FontObj)
 {
@@ -1098,7 +984,7 @@ FONTOBJ_pfdg(
 /*
  * @unimplemented
  */
-PBYTE STDCALL
+PBYTE APIENTRY
 FONTOBJ_pjOpenTypeTablePointer(
    IN FONTOBJ *FontObj,
    IN ULONG Tag,
@@ -1111,7 +997,7 @@ FONTOBJ_pjOpenTypeTablePointer(
 /*
  * @unimplemented
  */
-PFD_GLYPHATTR STDCALL
+PFD_GLYPHATTR APIENTRY
 FONTOBJ_pQueryGlyphAttrs(
    IN FONTOBJ *FontObj,
    IN ULONG Mode)
@@ -1123,7 +1009,7 @@ FONTOBJ_pQueryGlyphAttrs(
 /*
  * @unimplemented
  */
-LPWSTR STDCALL
+LPWSTR APIENTRY
 FONTOBJ_pwszFontFilePaths(
    IN FONTOBJ *FontObj,
    OUT ULONG *PathLength)
@@ -1135,7 +1021,7 @@ FONTOBJ_pwszFontFilePaths(
 /*
  * @unimplemented
  */
-LONG STDCALL
+LONG APIENTRY
 HT_Get8BPPMaskPalette(
    IN OUT LPPALETTEENTRY PaletteEntry,
    IN BOOL Use8BPPMaskPal,
@@ -1151,56 +1037,7 @@ HT_Get8BPPMaskPalette(
 /*
  * @unimplemented
  */
-BOOL STDCALL
-STROBJ_bEnumPositionsOnly(
-   IN STROBJ *StringObj,
-   OUT ULONG *Count,
-   OUT PGLYPHPOS *Pos)
-{
-   UNIMPLEMENTED;
-   return (BOOL) DDI_ERROR;
-}
-
-/*
- * @unimplemented
- */
-BOOL STDCALL
-STROBJ_bGetAdvanceWidths(
-   IN STROBJ *StringObj,
-   IN ULONG First,
-   IN ULONG Count,
-   OUT POINTQF *Widths)
-{
-   UNIMPLEMENTED;
-   return FALSE;
-}
-
-/*
- * @unimplemented
- */
-FIX STDCALL
-STROBJ_fxBreakExtra(
-   IN STROBJ *StringObj)
-{
-   UNIMPLEMENTED;
-   return (FIX) 0;
-}
-
-/*
- * @unimplemented
- */
-FIX STDCALL
-STROBJ_fxCharacterExtra(
-   IN STROBJ *StringObj)
-{
-   UNIMPLEMENTED;
-   return (FIX) 0;
-}
-
-/*
- * @unimplemented
- */
-HANDLE STDCALL
+HANDLE APIENTRY
 XLATEOBJ_hGetColorTransform(
    IN XLATEOBJ *XlateObj)
 {
@@ -1214,7 +1051,7 @@ XLATEOBJ_hGetColorTransform(
  */
 
 BOOL
-STDCALL
+APIENTRY
 NtGdiAnyLinkedFonts()
 {
    UNIMPLEMENTED;
@@ -1224,7 +1061,8 @@ NtGdiAnyLinkedFonts()
 /*
  * @unimplemented
  */
-HANDLE STDCALL
+HANDLE
+APIENTRY
 NtGdiBRUSHOBJ_hGetColorTransform(
    IN BRUSHOBJ *Brush)
 {
@@ -1235,7 +1073,7 @@ NtGdiBRUSHOBJ_hGetColorTransform(
 /*
  * @unimplemented
  */
-PVOID STDCALL
+PVOID APIENTRY
 NtGdiBRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj,
                             IN ULONG ObjSize)
 {
@@ -1246,7 +1084,7 @@ NtGdiBRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj,
 /*
  * @unimplemented
  */
-PVOID STDCALL
+PVOID APIENTRY
 NtGdiBRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj)
 {
    UNIMPLEMENTED;
@@ -1256,7 +1094,7 @@ NtGdiBRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj)
 /*
  * @unimplemented
  */
-ULONG STDCALL
+ULONG APIENTRY
 NtGdiBRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo)
 {
     UNIMPLEMENTED;
@@ -1266,7 +1104,7 @@ NtGdiBRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiCLIPOBJ_bEnum( IN CLIPOBJ *ClipObj,
                     IN ULONG ObjSize,
                     OUT ULONG *EnumRects)
@@ -1279,7 +1117,7 @@ NtGdiCLIPOBJ_bEnum( IN CLIPOBJ *ClipObj,
 /*
  * @unimplemented
  */
-ULONG STDCALL
+ULONG APIENTRY
 NtGdiCLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj,
                         IN BOOL ShouldDoAll,
                         IN ULONG ClipType,
@@ -1294,7 +1132,7 @@ NtGdiCLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj,
 /*
  * @unimplemented
  */
-PATHOBJ* STDCALL
+PATHOBJ* APIENTRY
 NtGdiCLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj)
 {
     UNIMPLEMENTED;
@@ -1305,8 +1143,8 @@ NtGdiCLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj)
 /*
  * @unimplemented
  */
-BOOL 
-STDCALL
+BOOL
+APIENTRY
 NtGdiEnableEudc(BOOL enable)
 {
     UNIMPLEMENTED;
@@ -1317,7 +1155,7 @@ NtGdiEnableEudc(BOOL enable)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngAssociateSurface(IN HSURF Surface,
                          IN HDEV Dev,
                          IN ULONG Hooks)
@@ -1329,7 +1167,7 @@ NtGdiEngAssociateSurface(IN HSURF Surface,
 /*
  * @unimplemented
  */
-CLIPOBJ* STDCALL
+CLIPOBJ* APIENTRY
 NtGdiEngCreateClip(VOID)
 {
     UNIMPLEMENTED;
@@ -1340,7 +1178,7 @@ NtGdiEngCreateClip(VOID)
 /*
  * @unimplemented
  */
-VOID STDCALL
+VOID APIENTRY
 NtGdiEngDeleteClip(CLIPOBJ *ClipRegion)
 {
     UNIMPLEMENTED;
@@ -1350,7 +1188,7 @@ NtGdiEngDeleteClip(CLIPOBJ *ClipRegion)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngCheckAbort(SURFOBJ *pso)
 {
     UNIMPLEMENTED;
@@ -1360,7 +1198,7 @@ NtGdiEngCheckAbort(SURFOBJ *pso)
 /*
  * @unimplemented
  */
-HSURF STDCALL
+HSURF APIENTRY
 NtGdiEngCreateDeviceSurface( IN DHSURF Surface,
                              IN SIZEL Size,
                              IN ULONG FormatVersion)
@@ -1372,7 +1210,7 @@ NtGdiEngCreateDeviceSurface( IN DHSURF Surface,
 /*
  * @unimplemented
  */
-HBITMAP STDCALL
+HBITMAP APIENTRY
 NtGdiEngCreateDeviceBitmap(
     IN DHSURF dhsurf,
     IN SIZEL sizl,
@@ -1386,7 +1224,7 @@ NtGdiEngCreateDeviceBitmap(
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngCopyBits(SURFOBJ *Dest,
            SURFOBJ *Source,
            CLIPOBJ *Clip,
@@ -1399,24 +1237,27 @@ NtGdiEngCopyBits(SURFOBJ *Dest,
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
-HBITMAP STDCALL
+HBITMAP APIENTRY
 NtGdiEngCreateBitmap(IN SIZEL Size,
                IN LONG Width,
                IN ULONG Format,
                IN ULONG Flags,
                IN PVOID Bits)
 {
-     UNIMPLEMENTED;
-    return NULL;
+    return EngCreateBitmap(Size,
+                          Width,
+                         Format,
+                          Flags,
+                           Bits);
 }
 
 
 /*
- * @unimplemented
+ * @implemented
  */
-HPALETTE STDCALL
+HPALETTE APIENTRY
 NtGdiEngCreatePalette(IN ULONG Mode,
                 IN ULONG NumColors,
                 IN ULONG *Colors,
@@ -1424,11 +1265,15 @@ NtGdiEngCreatePalette(IN ULONG Mode,
                 IN ULONG Green,
                 IN ULONG Blue)
 {
-     UNIMPLEMENTED;
-    return NULL;
+    return EngCreatePalette( Mode,
+                        NumColors,
+                           Colors,
+                              Red,
+                            Green,
+                             Blue);
 }
 
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngTransparentBlt(IN SURFOBJ *Dest,
                  IN SURFOBJ *Source,
                  IN CLIPOBJ *Clip,
@@ -1446,7 +1291,7 @@ NtGdiEngTransparentBlt(IN SURFOBJ *Dest,
 /*
  * @unimplemented
  */
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngTextOut(SURFOBJ *pso,
                 STROBJ *pstro,
                 FONTOBJ *pfo,
@@ -1465,7 +1310,7 @@ NtGdiEngTextOut(SURFOBJ *pso,
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngStrokePath(SURFOBJ *pso,
                    PATHOBJ *ppo,
                    CLIPOBJ *pco,
@@ -1480,19 +1325,18 @@ NtGdiEngStrokePath(SURFOBJ *pso,
 }
 
 /*
- * @unimplemented
+ * @implemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngDeletePalette(IN HPALETTE Palette)
 {
-     UNIMPLEMENTED;
-    return FALSE;
+    return EngDeletePalette(Palette);
 }
 
 /*
  * @unimplemented
  */
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngStrokeAndFillPath(SURFOBJ *pso,
                           PATHOBJ *ppo,
                           CLIPOBJ *pco,
@@ -1511,7 +1355,7 @@ NtGdiEngStrokeAndFillPath(SURFOBJ *pso,
 /*
  * @unimplemented
  */
-VOID STDCALL
+VOID APIENTRY
 NtGdiEngDeletePath(PATHOBJ *ppo)
 {
     UNIMPLEMENTED;
@@ -1520,7 +1364,7 @@ NtGdiEngDeletePath(PATHOBJ *ppo)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngDeleteSurface(IN HSURF Surface)
 {
     UNIMPLEMENTED;
@@ -1530,7 +1374,7 @@ NtGdiEngDeleteSurface(IN HSURF Surface)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngEraseSurface(SURFOBJ *Surface,
                      RECTL *Rect,
                      ULONG iColor)
@@ -1551,7 +1395,7 @@ NtGdiEngEraseSurface(SURFOBJ *Surface,
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngFillPath(SURFOBJ *pso,
                  PATHOBJ *ppo,
                  CLIPOBJ *pco,
@@ -1564,7 +1408,7 @@ NtGdiEngFillPath(SURFOBJ *pso,
     return FALSE;
 }
 
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngGradientFill(SURFOBJ *psoDest,
                      CLIPOBJ *pco,
                      XLATEOBJ *pxlo,
@@ -1580,7 +1424,7 @@ NtGdiEngGradientFill(SURFOBJ *psoDest,
     return FALSE;
 }
 
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngLineTo(SURFOBJ *Surface,
          CLIPOBJ *Clip,
          BRUSHOBJ *Brush,
@@ -1599,7 +1443,7 @@ NtGdiEngLineTo(SURFOBJ *Surface,
 /*
  * @unimplemented
  */
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngMarkBandingSurface(HSURF hsurf)
 {
     UNIMPLEMENTED;
@@ -1610,7 +1454,7 @@ NtGdiEngMarkBandingSurface(HSURF hsurf)
 /*
  * @unimplemented
  */
-BOOL STDCALL
+BOOL APIENTRY
 NtGdiEngPaint(IN SURFOBJ *Surface,
         IN CLIPOBJ *ClipRegion,
         IN BRUSHOBJ *Brush,
@@ -1624,7 +1468,7 @@ NtGdiEngPaint(IN SURFOBJ *Surface,
 /*
  * @unimplemented
  */
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngPlgBlt(SURFOBJ *psoTrg,
                SURFOBJ *psoSrc,
                SURFOBJ *psoMsk,
@@ -1644,7 +1488,7 @@ NtGdiEngPlgBlt(SURFOBJ *psoTrg,
 /*
  * @unimplemented
  */
-BOOL STDCALL 
+BOOL APIENTRY
 NtGdiEngStretchBltROP(SURFOBJ *psoDest,
                       SURFOBJ *psoSrc,
                       SURFOBJ *psoMask,
@@ -1663,7 +1507,7 @@ NtGdiEngStretchBltROP(SURFOBJ *psoDest,
     return FALSE;
 }
 
-FD_GLYPHSET* STDCALL
+FD_GLYPHSET* APIENTRY
 NtGdiEngComputeGlyphSet( INT nCodePage,
                          INT nFirstChar,
                          INT cChars)
@@ -1676,7 +1520,7 @@ NtGdiEngComputeGlyphSet( INT nCodePage,
  * @unimplemented
  */
 ULONG
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj,
                             IN HGLYPH  *Glyphs)
 {
@@ -1689,7 +1533,7 @@ NtGdiFONTOBJ_cGetAllGlyphHandles(IN FONTOBJ *FontObj,
  * @unimplemented
  */
 ULONG
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj,
                         IN ULONG    Mode,
                         IN ULONG    NumGlyphs,
@@ -1700,31 +1544,11 @@ NtGdiFONTOBJ_cGetGlyphs(IN FONTOBJ *FontObj,
     return 0;
 }
 
-
-
-/*
- * @unimplemented
- */
-INT
-STDCALL
-NtGdiAddFontResourceW(
-    IN WCHAR *pwszFiles,
-    IN ULONG cwc,
-    IN ULONG cFiles,
-    IN FLONG f,
-    IN DWORD dwPidTid,
-    IN OPTIONAL DESIGNVECTOR *pdv)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
-
 /*
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiAddRemoteFontToDC(
     IN HDC hdc,
     IN PVOID pvBuffer,
@@ -1739,7 +1563,7 @@ NtGdiAddRemoteFontToDC(
  * @unimplemented
  */
 HANDLE
-STDCALL
+APIENTRY
 NtGdiAddFontMemResourceEx(
     IN PVOID pvBuffer,
     IN DWORD cjBuffer,
@@ -1757,7 +1581,7 @@ NtGdiAddFontMemResourceEx(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiRemoveMergeFont(
     IN HDC hdc,
     IN UNIVERSAL_FONT_ID *pufi)
@@ -1770,6 +1594,7 @@ NtGdiRemoveMergeFont(
  * @unimplemented
  */
 BOOL
+APIENTRY
 NtGdiAddRemoteMMInstanceToDC(
     IN HDC hdc,
     IN DOWNLOADDESIGNVECTOR *pddv,
@@ -1784,7 +1609,7 @@ NtGdiAddRemoteMMInstanceToDC(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiFontIsLinked(IN HDC hdc)
 {
     UNIMPLEMENTED;
@@ -1795,7 +1620,7 @@ NtGdiFontIsLinked(IN HDC hdc)
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiCheckBitmapBits(
     IN HDC hdc,
     IN HANDLE hColorTransform,
@@ -1810,66 +1635,11 @@ NtGdiCheckBitmapBits(
     return FALSE;
 }
 
- /*
- * @unimplemented
- */
-HANDLE
-STDCALL
-NtGdiCreateServerMetaFile(
-    IN DWORD iType,
-    IN ULONG cjData,
-    IN LPBYTE pjData,
-    IN DWORD mm,
-    IN DWORD xExt,
-    IN DWORD yExt)
-{
-    UNIMPLEMENTED;
-    return NULL;
-}
-
-
- /*
- * @unimplemented
- */
-
-HDC
-STDCALL
-NtGdiCreateMetafileDC(IN HDC hdc)
-{
-    UNIMPLEMENTED;
-    return NULL;
-}
-
-
- /*
- * @unimplemented
- */
-
-HBITMAP
-STDCALL
-NtGdiCreateDIBitmapInternal(
-    IN HDC hdc,
-    IN INT cx,
-    IN INT cy,
-    IN DWORD fInit,
-    IN OPTIONAL LPBYTE pjInit,
-    IN OPTIONAL LPBITMAPINFO pbmi,
-    IN DWORD iUsage,
-    IN UINT cjMaxInitInfo,
-    IN UINT cjMaxBits,
-    IN FLONG f,
-    IN HANDLE hcmXform)
-{
-    UNIMPLEMENTED;
-    return NULL;
-}
-
-
  /*
  * @unimplemented
  */
 HBITMAP
-STDCALL
+APIENTRY
 NtGdiClearBitmapAttributes(
     IN HBITMAP hbm,
     IN DWORD dwFlags)
@@ -1883,7 +1653,7 @@ NtGdiClearBitmapAttributes(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiGetUFI(
     IN  HDC hdc,
     OUT PUNIVERSAL_FONT_ID pufi,
@@ -1900,7 +1670,7 @@ NtGdiGetUFI(
  * @unimplemented
  */
 PFD_GLYPHATTR
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_pQueryGlyphAttrs(
     IN FONTOBJ *pfo,
     IN ULONG iMode)
@@ -1913,7 +1683,7 @@ NtGdiFONTOBJ_pQueryGlyphAttrs(
  * @unimplemented
  */
 IFIMETRICS*
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_pifi(
     IN FONTOBJ *pfo)
 {
@@ -1925,7 +1695,7 @@ NtGdiFONTOBJ_pifi(
  * @unimplemented
  */
 FD_GLYPHSET*
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_pfdg(IN FONTOBJ *pfo)
 {
     UNIMPLEMENTED;
@@ -1936,7 +1706,7 @@ NtGdiFONTOBJ_pfdg(IN FONTOBJ *pfo)
  * @unimplemented
  */
 PVOID
-STDCALL 
+APIENTRY
 NtGdiFONTOBJ_pvTrueTypeFontFile(
     IN FONTOBJ *pfo,
     OUT ULONG *pcjFile
@@ -1950,7 +1720,7 @@ NtGdiFONTOBJ_pvTrueTypeFontFile(
  * @unimplemented
  */
 VOID
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_vGetInfo(
     IN FONTOBJ *pfo,
     IN ULONG cjSize,
@@ -1963,100 +1733,18 @@ NtGdiFONTOBJ_vGetInfo(
  * @unimplemented
  */
 XFORMOBJ*
-STDCALL
+APIENTRY
 NtGdiFONTOBJ_pxoGetXform(IN FONTOBJ *pfo)
 {
     UNIMPLEMENTED;
     return NULL;
 }
 
- /*
- * @unimplemented
- */
-DWORD
-STDCALL
-NtGdiDvpCanCreateVideoPort(
-    IN HANDLE hDirectDraw,
-    IN OUT PDD_CANCREATEVPORTDATA puCanCreateVPortData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
- /*
- * @unimplemented
- */
-DWORD
-STDCALL
-NtGdiDvpColorControl(
-    IN HANDLE hVideoPort,
-    IN OUT PDD_VPORTCOLORDATA puVPortColorData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
-
- /*
- * @unimplemented
- */
-HANDLE
-STDCALL
-NtGdiDvpCreateVideoPort(
-    IN HANDLE hDirectDraw,
-    IN OUT PDD_CREATEVPORTDATA puCreateVPortData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
- /*
- * @unimplemented
- */
-DWORD
-STDCALL
-NtGdiDvpDestroyVideoPort(
-    IN HANDLE hVideoPort,
-    IN OUT PDD_DESTROYVPORTDATA puDestroyVPortData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
- /*
- * @unimplemented
- */
-DWORD
-STDCALL
-NtGdiDvpFlipVideoPort(
-    IN HANDLE hVideoPort,
-    IN HANDLE hDDSurfaceCurrent,
-    IN HANDLE hDDSurfaceTarget,
-    IN OUT PDD_FLIPVPORTDATA puFlipVPortData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
-
- /*
- * @unimplemented
- */
-DWORD
-STDCALL
-NtGdiDvpGetVideoPortBandwidth(
-    IN HANDLE hVideoPort,
-    IN OUT PDD_GETVPORTBANDWIDTHDATA puGetVPortBandwidthData)
-{
-    UNIMPLEMENTED;
-    return 0;
-}
-
  /*
  * @unimplemented
  */
 HBRUSH
-STDCALL
+APIENTRY
 NtGdiClearBrushAttributes(
     IN HBRUSH hbm,
     IN DWORD dwFlags)
@@ -2069,7 +1757,7 @@ NtGdiClearBrushAttributes(
  * @unimplemented
  */
 ULONG
-STDCALL
+APIENTRY
 NtGdiColorCorrectPalette(
     IN HDC hdc,
     IN HPALETTE hpal,
@@ -2086,7 +1774,7 @@ NtGdiColorCorrectPalette(
  * @unimplemented
  */
 HANDLE
-STDCALL
+APIENTRY
 NtGdiCreateColorTransform(
     IN HDC hdc,
     IN LPLOGCOLORSPACEW pLogColorSpaceW,
@@ -2105,7 +1793,7 @@ NtGdiCreateColorTransform(
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiComputeXformCoefficients(IN HDC hdc)
 {
     UNIMPLEMENTED;
@@ -2117,7 +1805,7 @@ NtGdiComputeXformCoefficients(IN HDC hdc)
  * @unimplemented
  */
 BOOL
-STDCALL
+APIENTRY
 NtGdiConsoleTextOut(
     IN HDC hdc,
     IN POLYTEXTW *lpto,
@@ -2131,13 +1819,1115 @@ NtGdiConsoleTextOut(
  /*
  * @unimplemented
  */
-LONG
-STDCALL
-NtGdiConvertMetafileRect(
+BOOL
+APIENTRY
+NtGdiDeleteColorTransform(
     IN HDC hdc,
-    IN OUT PRECTL prect)
+    IN HANDLE hColorTransform)
 {
     UNIMPLEMENTED;
-    return 0;
+    return FALSE;
 }
 
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiGetPerBandInfo(
+    IN HDC hdc,
+    IN OUT PERBANDINFO *ppbi)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiDoBanding(
+    IN HDC hdc,
+    IN BOOL bStart,
+    OUT POINTL *pptl,
+    OUT PSIZE pSize)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiEnumFontChunk(
+    IN HDC hdc,
+    IN ULONG_PTR idEnum,
+    IN ULONG cjEfdw,
+    OUT ULONG *pcjEfdw,
+    OUT PENUMFONTDATAW pefdw)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiEnumFontClose(
+    IN ULONG_PTR idEnum)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG_PTR
+APIENTRY
+NtGdiEnumFontOpen(
+    IN HDC hdc,
+    IN ULONG iEnumType,
+    IN FLONG flWin31Compat,
+    IN ULONG cwchMax,
+    IN OPTIONAL LPWSTR pwszFaceName,
+    IN ULONG lfCharSet,
+    OUT ULONG *pulCount)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiEudcLoadUnloadLink(
+    IN OPTIONAL LPCWSTR pBaseFaceName,
+    IN UINT cwcBaseFaceName,
+    IN LPCWSTR pEudcFontPath,
+    IN UINT cwcEudcFontPath,
+    IN INT iPriority,
+    IN INT iFontLinkType,
+    IN BOOL bLoadLin)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiForceUFIMapping(
+    IN HDC hdc,
+    IN PUNIVERSAL_FONT_ID pufi)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+NTSTATUS
+APIENTRY
+NtGdiFullscreenControl(
+    IN FULLSCREENCONTROL FullscreenCommand,
+    IN PVOID FullscreenInput,
+    IN DWORD FullscreenInputLength,
+    OUT PVOID FullscreenOutput,
+    IN OUT PULONG FullscreenOutputLength)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+DWORD
+APIENTRY
+NtGdiGetCharacterPlacementW(
+    IN HDC hdc,
+    IN LPWSTR pwsz,
+    IN INT nCount,
+    IN INT nMaxExtent,
+    IN OUT LPGCP_RESULTSW pgcpw,
+    IN DWORD dwFlags)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetCharWidthInfo(
+    IN HDC hdc,
+    OUT PCHWIDTHINFO pChWidthInfo)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG_PTR
+APIENTRY
+NtGdiGetColorSpaceforBitmap(
+    IN HBITMAP hsurf)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetETM(
+    IN HDC hdc,
+    OUT EXTTEXTMETRIC *petm)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiGetEudcTimeStampEx(
+    IN OPTIONAL LPWSTR lpBaseFaceName,
+    IN ULONG cwcBaseFaceName,
+    IN BOOL bSystemTimeStamp)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiInitSpool()
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+ /*
+ * @unimplemented
+ */
+INT
+APIENTRY
+NtGdiQueryFonts( OUT PUNIVERSAL_FONT_ID pufiFontList,
+                 IN ULONG nBufferSize,
+                 OUT PLARGE_INTEGER pTimeStamp)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+INT
+APIENTRY
+NtGdiGetSpoolMessage( DWORD u1,
+                      DWORD u2,
+                      DWORD u3,
+                      DWORD u4)
+{
+    /* FIXME the prototypes */
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+DWORD
+APIENTRY
+NtGdiGetGlyphIndicesWInternal(
+    IN HDC hdc,
+    IN OPTIONAL LPWSTR pwc,
+    IN INT cwc,
+    OUT OPTIONAL LPWORD pgi,
+    IN DWORD iMode,
+    IN BOOL bSubset)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+INT
+APIENTRY
+NtGdiGetLinkedUFIs(
+    IN HDC hdc,
+    OUT OPTIONAL PUNIVERSAL_FONT_ID pufiLinkedUFIs,
+    IN INT BufferSize)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+
+ /*
+ * @unimplemented
+ */
+HBITMAP
+APIENTRY
+NtGdiGetObjectBitmapHandle(
+    IN HBRUSH hbr,
+    OUT UINT *piUsage)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetMonitorID(
+    IN  HDC hdc,
+    IN  DWORD dwSize,
+    OUT LPWSTR pszMonitorID)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiDrawStream(
+    IN HDC hdcDst,
+    IN ULONG cjIn,
+    IN VOID *pvIn)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+NtGdiUMPDEngFreeUserMem(
+    IN KERNEL_PVOID *ppv)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+NtGdiBRUSHOBJ_DeleteRbrush(
+    IN BRUSHOBJ *pbo,
+    IN BRUSHOBJ *pboB)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+NtGdiSetPUMPDOBJ(
+    IN HUMPD humpd,
+    IN BOOL bStoreID,
+    OUT HUMPD *phumpd,
+    OUT BOOL *pbWOW64)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+NtGdiUpdateTransform(IN HDC hdc)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+LONG
+APIENTRY
+NtGdiHT_Get8BPPMaskPalette(
+    OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
+    IN BOOL Use8BPPMaskPal,
+    IN BYTE CMYMask,
+    IN USHORT RedGamma,
+    IN USHORT GreenGamma,
+    IN USHORT BlueGamma)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+LONG
+APIENTRY
+NtGdiHT_Get8BPPFormatPalette(
+    OUT OPTIONAL LPPALETTEENTRY pPaletteEntry,
+    IN USHORT RedGamma,
+    IN USHORT GreenGamma,
+    IN USHORT BlueGamma)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiQueryFontAssocInfo(
+    IN HDC hdc)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+UINT
+APIENTRY
+NtGdiGetStringBitmapW(
+    IN HDC hdc,
+    IN LPWSTR pwsz,
+    IN UINT cwc,
+    OUT BYTE *lpSB,
+    IN UINT cj)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiPATHOBJ_bEnum(
+    IN PATHOBJ *ppo,
+    OUT PATHDATA *ppd)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiPATHOBJ_bEnumClipLines(
+    IN PATHOBJ *ppo,
+    IN ULONG cb,
+    OUT CLIPLINE *pcl)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+VOID
+APIENTRY
+NtGdiPATHOBJ_vGetBounds(
+    IN PATHOBJ *ppo,
+    OUT PRECTFX prectfx)
+{
+    UNIMPLEMENTED;
+}
+
+
+
+ /*
+ * @unimplemented
+ */
+VOID
+APIENTRY
+NtGdiPATHOBJ_vEnumStart(
+    IN PATHOBJ *ppo)
+{
+    UNIMPLEMENTED;
+}
+
+ /*
+ * @unimplemented
+ */
+VOID
+APIENTRY
+NtGdiPATHOBJ_vEnumStartClipLines(
+    IN PATHOBJ *ppo,
+    IN CLIPOBJ *pco,
+    IN SURFOBJ *pso,
+    IN LINEATTRS *pla)
+{
+    UNIMPLEMENTED;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiRemoveFontMemResourceEx(
+    IN HANDLE hMMFont)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiRemoveFontResourceW(
+    IN WCHAR *pwszFiles,
+    IN ULONG cwc,
+    IN ULONG cFiles,
+    IN ULONG fl,
+    IN DWORD dwPidTid,
+    IN OPTIONAL DESIGNVECTOR *pdv)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiPolyTextOutW(
+    IN HDC hdc,
+    IN POLYTEXTW *pptw,
+    IN UINT cStr,
+    IN DWORD dwCodePage)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+NTSTATUS
+APIENTRY
+NtGdiGetStats(
+    IN HANDLE hProcess,
+    IN INT iIndex,
+    IN INT iPidType,
+    OUT PVOID pResults,
+    IN UINT cjResultSize)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiXLATEOBJ_cGetPalette(
+    IN XLATEOBJ *pxlo,
+    IN ULONG iPal,
+    IN ULONG cPal,
+    OUT ULONG *pPal)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiXLATEOBJ_iXlate(
+    IN XLATEOBJ *pxlo,
+    IN ULONG iColor)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+HANDLE
+APIENTRY
+NtGdiXLATEOBJ_hGetColorTransform(
+    IN XLATEOBJ *pxlo)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiXFORMOBJ_bApplyXform(
+    IN XFORMOBJ *pxo,
+    IN ULONG iMode,
+    IN ULONG cPoints,
+    IN  PVOID pvIn,
+    OUT PVOID pvOut)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiXFORMOBJ_iGetXform(
+    IN XFORMOBJ *pxo,
+    OUT OPTIONAL XFORML *pxform)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+/*
+ * @unimplemented
+ */
+INT
+APIENTRY
+NtGdiSetupPublicCFONT(
+    IN HDC hdc,
+    IN OPTIONAL HFONT hf,
+    IN ULONG ulAve)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+HBRUSH
+APIENTRY
+NtGdiSetBrushAttributes(
+    IN HBRUSH hbm,
+    IN DWORD dwFlags)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSTROBJ_bEnum(
+    IN STROBJ *pstro,
+    OUT ULONG *pc,
+    OUT PGLYPHPOS *ppgpos)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSTROBJ_bEnumPositionsOnly(
+    IN STROBJ *pstro,
+    OUT ULONG *pc,
+    OUT PGLYPHPOS *ppgpos)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSTROBJ_bGetAdvanceWidths(
+    IN STROBJ*pstro,
+    IN ULONG iFirst,
+    IN ULONG c,
+    OUT POINTQF*pptqD)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+VOID
+APIENTRY
+NtGdiSTROBJ_vEnumStart(
+    IN STROBJ *pstro)
+{
+    UNIMPLEMENTED;
+}
+
+ /*
+ * @unimplemented
+ */
+DWORD
+APIENTRY
+NtGdiSTROBJ_dwGetCodePage(
+    IN STROBJ *pstro)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetEmbUFI(
+    IN HDC hdc,
+    OUT PUNIVERSAL_FONT_ID pufi,
+    OUT OPTIONAL DESIGNVECTOR *pdv,
+    OUT ULONG *pcjDV,
+    OUT ULONG *pulBaseCheckSum,
+    OUT FLONG  *pfl,
+    OUT KERNEL_PVOID *embFontID)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetUFIPathname(
+    IN PUNIVERSAL_FONT_ID pufi,
+    OUT OPTIONAL ULONG* pcwc,
+    OUT OPTIONAL LPWSTR pwszPathname,
+    OUT OPTIONAL ULONG* pcNumFiles,
+    IN FLONG fl,
+    OUT OPTIONAL BOOL *pbMemFont,
+    OUT OPTIONAL ULONG *pcjView,
+    OUT OPTIONAL PVOID pvView,
+    OUT OPTIONAL BOOL *pbTTC,
+    OUT OPTIONAL ULONG *piTTC)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiGetEmbedFonts(
+    VOID)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiChangeGhostFont(
+    IN KERNEL_PVOID *pfontID,
+    IN BOOL bLoad)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiAddEmbFontToDC(
+    IN HDC hdc,
+    IN VOID **pFontID)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiGetWidthTable(
+    IN HDC hdc,
+    IN ULONG cSpecial,
+    IN WCHAR *pwc,
+    IN ULONG cwc,
+    OUT USHORT *psWidth,
+    OUT OPTIONAL WIDTHDATA *pwd,
+    OUT FLONG *pflInfo)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiIcmBrushInfo(
+    IN HDC hdc,
+    IN HBRUSH hbrush,
+    IN OUT PBITMAPINFO pbmiDIB,
+    IN OUT PVOID pvBits,
+    IN OUT ULONG *pulBits,
+    OUT OPTIONAL DWORD *piUsage,
+    OUT OPTIONAL BOOL *pbAlreadyTran,
+    IN ULONG Command)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @implemented
+ */
+BOOL
+APIENTRY
+NtGdiInit()
+{
+    return TRUE;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiMakeFontDir(
+    IN FLONG flEmbed,
+    OUT PBYTE pjFontDir,
+    IN unsigned cjFontDir,
+    IN LPWSTR pwszPathname,
+    IN unsigned cjPathname)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiMonoBitmap(
+    IN HBITMAP hbm)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+HBITMAP
+APIENTRY
+NtGdiSetBitmapAttributes(
+    IN HBITMAP hbm,
+    IN DWORD dwFlags)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+
+ /*
+ * @unimplemented
+ */
+ULONG
+APIENTRY
+NtGdiSetFontEnumeration(
+    IN ULONG ulType)
+{
+    UNIMPLEMENTED;
+    return 0;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSetFontXform(
+    IN HDC hdc,
+    IN DWORD dwxScale,
+    IN DWORD dwyScale)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSetLinkedUFIs(
+    IN HDC hdc,
+    IN PUNIVERSAL_FONT_ID pufiLinks,
+    IN ULONG uNumUFIs)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiSetMagicColors(
+    IN HDC hdc,
+    IN PALETTEENTRY peMagic,
+    IN ULONG Index)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @unimplemented
+ */
+BOOL
+APIENTRY
+NtGdiUnloadPrinterDriver(
+    IN LPWSTR pDriverName,
+    IN ULONG cbDriverName)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ /*
+ * @implemented
+ */
+BOOL
+APIENTRY
+NtGdiUnmapMemFont(
+    IN PVOID pvView)
+{
+    return TRUE;
+}
+
+BOOL
+APIENTRY
+EngControlSprites(
+  IN WNDOBJ  *pwo,
+  IN FLONG  fl)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+PVOID
+APIENTRY
+EngFntCacheAlloc(IN ULONG FastCheckSum,
+                 IN ULONG ulSize)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+VOID
+APIENTRY
+EngFntCacheFault(IN ULONG ulFastCheckSum,
+                 IN ULONG iFaultMode)
+{
+    UNIMPLEMENTED;
+}
+PVOID
+APIENTRY
+EngFntCacheLookUp(IN ULONG FastCheckSum,
+                  OUT PULONG pulSize)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+
+VOID
+APIENTRY
+FLOATOBJ_AddFloatObj(PFLOATOBJ pFloatObj1,
+                     PFLOATOBJ pFloatObj2)
+{
+    UNIMPLEMENTED;
+}
+VOID
+APIENTRY
+FLOATOBJ_DivFloatObj(PFLOATOBJ pFloatObj1,
+                     PFLOATOBJ pFloatObj2)
+{
+    UNIMPLEMENTED;
+}
+VOID
+APIENTRY
+FLOATOBJ_MulFloatObj(PFLOATOBJ pFloatObj1,
+                     PFLOATOBJ pFloatObj2)
+{
+    UNIMPLEMENTED;
+}
+VOID
+APIENTRY
+FLOATOBJ_SubFloatObj(PFLOATOBJ pFloatObj1,
+                     PFLOATOBJ pFloatObj2)
+{
+    UNIMPLEMENTED;
+}
+PVOID
+APIENTRY
+EngAllocSectionMem(IN PVOID SectionObject,
+                   IN ULONG Flags,
+                   IN SIZE_T MemSize,
+                   IN ULONG Tag)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+NTSTATUS
+APIENTRY
+EngFileIoControl(IN PFILE_OBJECT FileObject,
+                 IN ULONG IoControlCode,
+                 IN PVOID InputBuffer,
+                 IN SIZE_T InputBufferLength,
+                 OUT PVOID OutputBuffer,
+                 IN SIZE_T OutputBufferLength,
+                 OUT PULONG Information)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+VOID
+APIENTRY
+EngFileWrite(IN PFILE_OBJECT FileObject,
+             IN PVOID Buffer,
+             IN SIZE_T Length,
+             IN PSIZE_T BytesWritten)
+{
+    UNIMPLEMENTED;
+}
+BOOLEAN
+APIENTRY
+EngFreeSectionMem(IN PVOID SectionObject OPTIONAL,
+                  IN PVOID MappedBase)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+ULONGLONG
+APIENTRY
+EngGetTickCount(VOID)
+{
+    ULONG Multiplier;
+    LARGE_INTEGER TickCount;
+
+    /* Get the multiplier and current tick count */
+    KeQueryTickCount(&TickCount);
+    Multiplier = SharedUserData->TickCountMultiplier;
+
+    /* Convert to milliseconds and return */
+    return (Int64ShrlMod32(UInt32x32To64(Multiplier, TickCount.LowPart), 24) +
+            (Multiplier * (TickCount.HighPart << 8)));
+}
+BOOLEAN
+APIENTRY
+EngMapSection(IN PVOID Section,
+              IN BOOLEAN Map,
+              IN HANDLE Process,
+              IN PVOID* BaseAddress)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+BOOLEAN
+APIENTRY
+EngNineGrid(IN SURFOBJ* pDestSurfaceObj,
+            IN SURFOBJ* pSourceSurfaceObj,
+            IN CLIPOBJ* pClipObj,
+            IN XLATEOBJ* pXlateObj,
+            IN RECTL* prclSource,
+            IN RECTL* prclDest,
+            PVOID pvUnknown1,
+            PVOID pvUnknown2,
+            DWORD dwReserved)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}