[ros-diffs] [tkreuzer] 28106: an API test kit + win32k native API test app. It does syscalls on ros by linking to w32kdll.dll On windows it uses syscall tables (only winxp sp2 available atm)

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Thu Aug 2 23:42:37 CEST 2007


Author: tkreuzer
Date: Fri Aug  3 01:42:37 2007
New Revision: 28106

URL: http://svn.reactos.org/svn/reactos?rev=28106&view=rev
Log:
an API test kit + win32k native API test app.
It does syscalls on ros by linking to w32kdll.dll
On windows it uses syscall tables (only winxp sp2 available atm)

Added:
    trunk/rostests/apitests/
    trunk/rostests/apitests/apitest.c
    trunk/rostests/apitests/apitest.h
    trunk/rostests/apitests/directory.rbuild
    trunk/rostests/apitests/w32kdll/
    trunk/rostests/apitests/w32kdll/main.c
    trunk/rostests/apitests/w32kdll/w32kdll.def
    trunk/rostests/apitests/w32kdll/w32kdll.rbuild
    trunk/rostests/apitests/w32knapi/
    trunk/rostests/apitests/w32knapi/ntdd/
    trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdCreateDirectDrawObject.c
    trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdDeleteDirectDrawObject.c
    trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c
    trunk/rostests/apitests/w32knapi/ntgdi/
    trunk/rostests/apitests/w32knapi/ntgdi/NtGdiArcInternal.c
    trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetBitmapBits.c
    trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetBitmapBits.c
    trunk/rostests/apitests/w32knapi/ntuser/
    trunk/rostests/apitests/w32knapi/ntuser/NtUserCountClipboardFormats.c
    trunk/rostests/apitests/w32knapi/testlist.c
    trunk/rostests/apitests/w32knapi/w32knapi.c
    trunk/rostests/apitests/w32knapi/w32knapi.h
    trunk/rostests/apitests/w32knapi/w32knapi.rbuild
    trunk/rostests/apitests/w32knapi/xp-2600.c
Modified:
    trunk/rostests/directory.rbuild

Added: trunk/rostests/apitests/apitest.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/apitest.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/apitest.c (added)
+++ trunk/rostests/apitests/apitest.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,98 @@
+#include "apitest.h"
+
+void
+OutputUsage(LPWSTR pszExe)
+{
+	printf("\nUsage:\n\n");
+	printf("%ls <TestName> - perform individual test\n", pszExe);
+	printf("%ls all - perform all tests\n", pszExe);
+	printf("%ls status - create api status file\n", pszExe);
+	printf("%ls -r ... - perform regression testing\n", pszExe);
+	printf("\n");
+}
+
+int
+TestMain(LPWSTR pszExe)
+{
+	INT argc, i, j;
+	LPWSTR *argv;
+	TESTINFO ti;
+	INT opassed, ofailed, orfailed;
+	BOOL bAll, bStatus;
+
+	ti.bRegress = FALSE;
+	bAll = FALSE;
+	bStatus = FALSE;
+	opassed = ofailed = orfailed = 0;
+
+	argv = CommandLineToArgvW(GetCommandLineW(), &argc);
+
+	if (argc < 2)
+	{
+		OutputUsage(pszExe);
+		return 0;
+	}
+
+	/* Get options */
+	for (i = 1; i < argc; i++)
+	{
+		if (wcsicmp(argv[i], L"-r") == 0)
+		{
+			ti.bRegress = TRUE;
+		}
+		else if (wcsicmp(argv[i], L"all") == 0)
+		{
+			bAll = TRUE;
+		}
+		else if (wcsicmp(argv[i], L"status") == 0)
+		{
+			bAll = TRUE;
+			bStatus = TRUE;
+		}
+	}
+
+	if (bStatus)
+	{
+		printf("Output of API status is unimplemented.\n");
+		return 0;
+	}
+
+	for (i = 0; i < NumTests(); i++)
+	{
+		for (j = 1; j < argc; j++)
+		{
+			if (bAll || wcsicmp(argv[j], TestList[i].Test) == 0)
+			{
+				ti.passed = 0;
+				ti.failed = 0;
+				ti.rfailed = 0;
+				if (!IsFunctionPresent(TestList[i].Test))
+				{
+					printf("Function %ls was not found!\n", TestList[i].Test);
+				}
+				else
+				{
+					printf("Executing test: %ls\n", TestList[i].Test);
+					TestList[i].Proc(&ti);
+					opassed += ti.passed;
+					ofailed += ti.failed;
+					orfailed += ti.rfailed;
+					printf(" tests: %d, passed: %d, failed: %d\n\n", ti.passed+ti.failed, ti.passed, ti.failed);
+				}
+				break;
+			}
+		}
+	}
+
+	printf("Overall:\n");
+	printf(" tests: %d, passed: %d, failed: %d\n\n", opassed+ofailed, opassed, ofailed);
+	if (ti.bRegress)
+	{
+		printf(" regressions: %d\n", orfailed);
+	}
+
+	if (ti.bRegress)
+		return ti.rfailed;
+
+	return ti.failed;
+}

Added: trunk/rostests/apitests/apitest.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/apitest.h?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/apitest.h (added)
+++ trunk/rostests/apitests/apitest.h Fri Aug  3 01:42:37 2007
@@ -1,0 +1,85 @@
+#ifndef _APITEST_H
+#define _APITEST_H
+
+#define WINVER 0x501
+
+#include <stdlib.h>
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <windows.h>
+
+
+/* type definitions */
+
+typedef struct tagTESTINFO
+{
+	INT passed;
+	INT failed;
+	INT rfailed;
+	BOOL bRegress;
+} TESTINFO, *PTESTINFO;
+
+typedef BOOL (*TESTPROC)(PTESTINFO);
+
+typedef struct tagTEST
+{
+	WCHAR* Test;
+	TESTPROC Proc;
+} TESTENTRY, *PTESTENTRY;
+
+
+/* macros */
+
+#define TEST(x) \
+	if (pti->bRegress) \
+	{ \
+		if (x)\
+		{\
+			(pti->passed)++;\
+			printf("non-rtest succeeded in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
+		} else {\
+			(pti->failed)++;\
+		} \
+	} \
+	else \
+	{ \
+		if (x)\
+		{\
+			(pti->passed)++;\
+		} else {\
+			(pti->failed)++;\
+			printf("test failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
+		} \
+	}
+
+#define RTEST(x) \
+	if (pti->bRegress) \
+	{ \
+		if (x)\
+		{\
+			(pti->passed)++;\
+		} else {\
+			(pti->failed)++;\
+			(pti->rfailed)++;\
+			printf("rtest failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
+		} \
+	} \
+	else \
+	{ \
+		if (x)\
+		{\
+			(pti->passed)++;\
+		} else {\
+			(pti->failed)++;\
+			printf("test failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
+		} \
+	}
+
+
+int TestMain(LPWSTR pszExe);
+extern TESTENTRY TestList[];
+INT NumTests(void);
+BOOL IsFunctionPresent(LPWSTR lpszFunction);
+
+#endif /* _APITEST_H */

Added: trunk/rostests/apitests/directory.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/directory.rbuild?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/directory.rbuild (added)
+++ trunk/rostests/apitests/directory.rbuild Fri Aug  3 01:42:37 2007
@@ -1,0 +1,8 @@
+
+<directory name="w32kdll">
+	<xi:include href="w32kdll/w32kdll.rbuild" />
+</directory>
+
+<directory name="w32knapi">
+	<xi:include href="w32knapi/w32knapi.rbuild" />
+</directory>

Added: trunk/rostests/apitests/w32kdll/main.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32kdll/main.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32kdll/main.c (added)
+++ trunk/rostests/apitests/w32kdll/main.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,31 @@
+#include <windows.h>
+
+#ifdef BUILD_DLL
+    #define DLL_EXPORT __declspec(dllexport)
+#else
+    #define DLL_EXPORT
+#endif
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    switch (fdwReason)
+    {
+        case DLL_PROCESS_ATTACH:
+            // attach to process
+            // return FALSE to fail DLL load
+            break;
+        
+        case DLL_PROCESS_DETACH:
+            // detach from process
+            break;
+        
+        case DLL_THREAD_ATTACH:
+            // attach to thread
+            break;
+        
+        case DLL_THREAD_DETACH:
+            // detach from thread
+            break;
+    }
+    return TRUE; // succesful
+}

Added: trunk/rostests/apitests/w32kdll/w32kdll.def
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32kdll/w32kdll.def?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32kdll/w32kdll.def (added)
+++ trunk/rostests/apitests/w32kdll/w32kdll.def Fri Aug  3 01:42:37 2007
@@ -1,0 +1,680 @@
+; $Id: w32kdll.def 27344 2007-08-01 14:12:10Z tkreuzer $
+;
+; ReactOS Operating System
+;
+; This file contains all win32k native api functions from win xp
+; unsupported functions are commented out.
+;
+LIBRARY w32kdll.dll
+
+EXPORTS
+NtGdiAbortDoc at 4
+NtGdiAbortPath at 4
+;NtGdiAddFontResourceW at 24
+;NtGdiAddRemoteFontToDC at 16
+;NtGdiAddFontMemResourceEx at 20
+;NtGdiRemoveMergeFont at 8
+;NtGdiAddRemoteMMInstanceToDC at 12
+;NtGdiAlphaBlend at 48
+NtGdiAngleArc at 24
+;NtGdiAnyLinkedFonts at 0
+;GreFontIsLinked at 4
+NtGdiArcInternal at 40
+NtGdiBeginPath at 4
+NtGdiBitBlt at 44
+NtGdiCancelDC at 4
+;NtGdiCheckBitmapBits at 32
+NtGdiCloseFigure at 4
+;NtGdiClearBitmapAttributes at 8
+;NtGdiClearBrushAttributes at 8
+;NtGdiColorCorrectPalette at 24
+NtGdiCombineRgn at 16
+NtGdiCombineTransform at 12
+;NtGdiComputeXformCoefficients at 4
+;NtGdiConsoleTextOut at 16
+;NtGdiConvertMetafileRect at 8
+NtGdiCreateBitmap at 20
+NtGdiCreateClientObj at 4
+NtGdiCreateColorSpace at 4
+;NtGdiCreateColorTransform at 32
+NtGdiCreateCompatibleBitmap at 12
+NtGdiCreateCompatibleDC at 4
+NtGdiCreateDIBBrush at 24
+;NtGdiCreateDIBitmapInternal at 44
+NtGdiCreateDIBSection at 36
+NtGdiCreateEllipticRgn at 16
+NtGdiCreateHalftonePalette at 4
+NtGdiCreateHatchBrushInternal at 12
+;NtGdiCreateMetafileDC at 4
+;NtGdiCreatePaletteInternal at 8
+NtGdiCreatePatternBrushInternal at 12
+NtGdiCreatePen at 16
+NtGdiCreateRectRgn at 16
+NtGdiCreateRoundRectRgn at 24
+;NtGdiCreateServerMetaFile at 24
+NtGdiCreateSolidBrush at 8
+NtGdiD3dContextCreate at 16
+NtGdiD3dContextDestroy at 4
+;NtGdiD3dContextDestroyAll at 4
+NtGdiD3dValidateTextureStageState at 4
+NtGdiD3dDrawPrimitives2 at 28
+NtGdiDdGetDriverState at 4
+NtGdiDdAddAttachedSurface at 12
+NtGdiDdAlphaBlt at 12
+NtGdiDdAttachSurface at 8
+NtGdiDdBeginMoCompFrame at 8
+NtGdiDdBlt at 12
+NtGdiDdCanCreateSurface at 8
+NtGdiDdCanCreateD3DBuffer at 8
+NtGdiDdColorControl at 8
+NtGdiDdCreateDirectDrawObject at 4
+NtGdiDdCreateSurface at 32
+NtGdiDdCreateD3DBuffer at 32
+NtGdiDdCreateMoComp at 8
+NtGdiDdCreateSurfaceObject at 24
+NtGdiDdDeleteDirectDrawObject at 4
+NtGdiDdDeleteSurfaceObject at 4
+NtGdiDdDestroyMoComp at 8
+NtGdiDdDestroySurface at 8
+NtGdiDdDestroyD3DBuffer at 4
+NtGdiDdEndMoCompFrame at 8
+NtGdiDdFlip at 20
+NtGdiDdFlipToGDISurface at 8
+NtGdiDdGetAvailDriverMemory at 8
+NtGdiDdGetBltStatus at 8
+NtGdiDdGetDC at 8
+NtGdiDdGetDriverInfo at 8
+NtGdiDdGetDxHandle at 12
+NtGdiDdGetFlipStatus at 8
+NtGdiDdGetInternalMoCompInfo at 8
+NtGdiDdGetMoCompBuffInfo at 8
+NtGdiDdGetMoCompGuids at 8
+NtGdiDdGetMoCompFormats at 8
+NtGdiDdGetScanLine at 8
+NtGdiDdLock at 12
+NtGdiDdLockD3D at 8
+NtGdiDdQueryDirectDrawObject at 44
+NtGdiDdQueryMoCompStatus at 8
+NtGdiDdReenableDirectDrawObject at 8
+NtGdiDdReleaseDC at 4
+NtGdiDdRenderMoComp at 8
+NtGdiDdResetVisrgn at 8
+NtGdiDdSetColorKey at 8
+NtGdiDdSetExclusiveMode at 8
+NtGdiDdSetGammaRamp at 12
+NtGdiDdCreateSurfaceEx at 12
+NtGdiDdSetOverlayPosition at 12
+NtGdiDdUnattachSurface at 8
+NtGdiDdUnlock at 8
+NtGdiDdUnlockD3D at 8
+NtGdiDdUpdateOverlay at 12
+NtGdiDdWaitForVerticalBlank at 8
+;NtGdiDvpCanCreateVideoPort at 8
+;NtGdiDvpColorControl at 8
+;NtGdiDvpCreateVideoPort at 8
+;NtGdiDvpDestroyVideoPort at 8
+;NtGdiDvpFlipVideoPort at 16
+;NtGdiDvpGetVideoPortBandwidth at 8
+;NtGdiDvpGetVideoPortField at 8
+;NtGdiDvpGetVideoPortFlipStatus at 8
+;NtGdiDvpGetVideoPortInputFormats at 8
+;NtGdiDvpGetVideoPortLine at 8
+;NtGdiDvpGetVideoPortOutputFormats at 8
+;NtGdiDvpGetVideoPortConnectInfo at 8
+;NtGdiDvpGetVideoSignalStatus at 8
+;NtGdiDvpUpdateVideoPort at 16
+;NtGdiDvpWaitForVideoPortSync at 8
+;NtGdiDvpAcquireNotification at 12
+;NtGdiDvpReleaseNotification at 8
+;NtGdiDxgGenericThunk at 24
+NtGdiDeleteClientObj at 4
+;bDeleteColorSpace at 4
+;NtGdiDeleteColorTransform at 8
+NtGdiDeleteObjectApp at 4
+NtGdiDescribePixelFormat at 16
+;NtGdiGetPerBandInfo at 8
+;NtGdiDoBanding at 16
+;NtGdiDoPalette at 24
+NtGdiDrawEscape at 16
+NtGdiEllipse at 20
+;GreEnableEUDC at 4
+NtGdiEndDoc at 4
+NtGdiEndPage at 4
+NtGdiEndPath at 4
+;NtGdiEnumFontChunk at 20
+;NtGdiEnumFontClose at 4
+;NtGdiEnumFontOpen at 28
+NtGdiEnumObjects at 16
+NtGdiEqualRgn at 8
+;NtGdiEudcLoadUnloadLink at 28
+NtGdiExcludeClipRect at 20
+NtGdiExtCreatePen at 44
+NtGdiExtCreateRegion at 12
+NtGdiExtEscape at 32
+NtGdiExtFloodFill at 20
+NtGdiExtGetObjectW at 12
+NtGdiExtSelectClipRgn at 12
+;NtGdiExtTextOutW at 36
+NtGdiFillPath at 4
+NtGdiFillRgn at 12
+NtGdiFlattenPath at 4
+;NtGdiFlushUserBatch at 0
+NtGdiFlush at 0
+;NtGdiForceUFIMapping at 8
+NtGdiFrameRgn at 20
+;NtGdiFullscreenControl at 20
+;NtGdiGetAndSetDCDword at 16
+;NtGdiGetAppClipBox at 8
+NtGdiGetBitmapBits at 12
+;NtGdiGetBitmapDimension at 8
+NtGdiGetBoundsRect at 12
+;NtGdiGetCharABCWidthsW at 24
+;NtGdiGetCharacterPlacementW at 24
+NtGdiGetCharSet at 4
+;NtGdiGetCharWidthW at 24
+;NtGdiGetCharWidthInfo at 8
+NtGdiGetColorAdjustment at 8
+;NtGdiGetColorSpaceforBitmap at 4
+;NtGdiGetDCDword at 12
+;NtGdiGetDCforBitmap at 4
+;NtGdiGetDCObject at 8
+;NtGdiGetDCPoint at 12
+NtGdiGetDeviceCaps at 8
+NtGdiGetDeviceGammaRamp at 8
+;NtGdiGetDeviceCapsAll at 8
+;NtGdiGetDIBitsInternal at 36
+;NtGdiGetETM at 8
+;NtGdiGetEudcTimeStampEx at 12
+NtGdiGetFontData at 20
+NtGdiGetFontResourceInfoInternalW at 28
+;NtGdiGetGlyphIndicesW at 20
+;NtGdiGetGlyphIndicesWInternal at 24
+NtGdiGetGlyphOutline at 32
+NtGdiGetKerningPairs at 12
+;NtGdiGetLinkedUFIs at 12
+NtGdiGetMiterLimit at 8
+;NtGdiGetMonitorID at 12
+NtGdiGetNearestColor at 8
+NtGdiGetNearestPaletteIndex at 8
+;NtGdiGetObjectBitmapHandle at 8
+NtGdiGetOutlineTextMetricsInternalW at 16
+NtGdiGetPath at 16
+NtGdiGetPixel at 12
+NtGdiGetRandomRgn at 12
+NtGdiGetRasterizerCaps at 8
+;NtGdiGetRealizationInfo at 12
+NtGdiGetRegionData at 12
+NtGdiGetRgnBox at 8
+;NtGdiGetServerMetaFileBits at 28
+;NtGdiGetSpoolMessage at 16
+;NtGdiGetStats at 20
+NtGdiGetStockObject at 4
+;NtGdiGetStringBitmapW at 20
+NtGdiGetSystemPaletteUse at 4
+NtGdiGetTextCharsetInfo at 12
+NtGdiGetTextExtent at 20
+NtGdiGetTextExtentExW at 32
+NtGdiGetTextFaceW at 16
+NtGdiGetTextMetricsW at 12
+;NtGdiGetTransform at 12
+;NtGdiGetUFI at 24
+;NtGdiGetEmbUFI at 28
+;NtGdiGetUFIPathname at 40
+;GreGetEmbedFonts at 0
+;NtGdiChangeGhostFont at 8
+;NtGdiAddEmbFontToDC at 8
+;NtGdiGetFontUnicodeRanges at 8
+;NtGdiGetWidthTable at 28
+NtGdiGradientFill at 24
+NtGdiHfontCreate at 20
+;NtGdiIcmBrushInfo at 32
+;NtGdiInit at 0
+;NtGdiInitSpool at 0
+NtGdiIntersectClipRect at 20
+NtGdiInvertRgn at 8
+NtGdiLineTo at 12
+;NtGdiMakeFontDir at 20
+;NtGdiMakeInfoDC at 8
+NtGdiMaskBlt at 52
+NtGdiModifyWorldTransform at 12
+;NtGdiMonoBitmap at 4
+;NtGdiMoveTo at 16
+NtGdiOffsetClipRgn at 12
+NtGdiOffsetRgn at 12
+NtGdiOpenDCW at 28
+NtGdiPatBlt at 24
+NtGdiPolyPatBlt at 20
+NtGdiPathToRegion at 4
+NtGdiPlgBlt at 44
+NtGdiPolyDraw at 16
+NtGdiPolyPolyDraw at 20
+;NtGdiPolyTextOutW at 16
+NtGdiPtInRegion at 12
+NtGdiPtVisible at 12
+;NtGdiQueryFonts at 12
+;NtGdiQueryFontAssocInfo at 4
+NtGdiRectangle at 20
+NtGdiRectInRegion at 8
+NtGdiRectVisible at 8
+;NtGdiRemoveFontResourceW at 24
+;NtGdiRemoveFontMemResourceEx at 4
+NtGdiResetDC at 20
+NtGdiResizePalette at 8
+NtGdiRestoreDC at 8
+NtGdiRoundRect at 28
+NtGdiSaveDC at 4
+NtGdiScaleViewportExtEx at 24
+NtGdiScaleWindowExtEx at 24
+;NtGdiSelectBitmap at 8
+;GreSelectBitmap at 8
+;NtGdiSelectBrush at 8
+NtGdiSelectClipPath at 8
+;NtGdiSelectFont at 8
+;NtGdiSelectPen at 8
+;NtGdiSetBitmapAttributes at 8
+NtGdiSetBitmapBits at 12
+;NtGdiSetBitmapDimension at 16
+NtGdiSetBoundsRect at 12
+;NtGdiSetBrushAttributes at 8
+;NtGdiSetBrushOrg at 16
+NtGdiSetColorAdjustment at 8
+NtGdiSetColorSpace at 8
+NtGdiSetDeviceGammaRamp at 8
+;NtGdiSetDIBitsToDeviceInternal at 40
+;NtGdiSetFontEnumeration at 4
+;NtGdiSetFontXform at 12
+;NtGdiSetIcmMode at 12
+;NtGdiSetLinkedUFIs at 12
+;NtGdiSetMagicColors at 12
+NtGdiSetMetaRgn at 4
+NtGdiSetMiterLimit at 12
+;NtGdiGetDeviceWidth at 4
+;NtGdiMirrorWindowOrg at 4
+;NtGdiSetLayout at 12
+NtGdiSetPixel at 16
+NtGdiSetPixelFormat at 8
+NtGdiSetRectRgn at 20
+NtGdiSetSystemPaletteUse at 8
+NtGdiSetTextJustification at 12
+;NtGdiSetupPublicCFONT at 12
+;NtGdiSetVirtualResolution at 20
+;NtGdiSetSizeDevice at 12
+NtGdiStartDoc at 16
+NtGdiStartPage at 4
+NtGdiStretchBlt at 48
+;NtGdiStretchDIBitsInternal at 40
+NtGdiStrokeAndFillPath at 4
+NtGdiStrokePath at 4
+NtGdiSwapBuffers at 4
+;NtGdiTransformPoints at 20
+NtGdiTransparentBlt at 44
+;NtGdiUnloadPrinterDriver at 8
+;NtGdiUMPDEngFreeUserMem at 4
+;NtGdiUnmapMemFont at 4
+NtGdiUnrealizeObject at 4
+NtGdiUpdateColors at 4
+NtGdiWidenPath at 4
+NtUserActivateKeyboardLayout at 8
+NtUserAlterWindowStyle at 12
+;NtUserAssociateInputContext at 12
+NtUserAttachThreadInput at 12
+NtUserBeginPaint at 8
+NtUserBitBltSysBmp at 32
+NtUserBlockInput at 4
+;NtUserBuildHimcList at 16
+NtUserBuildHwndList at 28
+NtUserBuildNameList at 16
+NtUserBuildPropList at 16
+NtUserCallHwnd at 8
+NtUserCallHwndLock at 8
+NtUserCallHwndOpt at 8
+NtUserCallHwndParam at 12
+NtUserCallHwndParamLock at 12
+NtUserCallMsgFilter at 8
+NtUserCallNextHookEx at 16
+NtUserCallNoParam at 4
+NtUserCallOneParam at 8
+NtUserCallTwoParam at 12
+NtUserChangeClipboardChain at 8
+NtUserChangeDisplaySettings at 20
+;NtUserCheckImeHotKey at 8
+NtUserCheckMenuItem at 12
+NtUserChildWindowFromPointEx at 16
+NtUserClipCursor at 4
+NtUserCloseClipboard at 0
+NtUserCloseDesktop at 4
+NtUserCloseWindowStation at 4
+;NtUserConsoleControl at 12
+NtUserConvertMemHandle at 8
+NtUserCopyAcceleratorTable at 12
+NtUserCountClipboardFormats at 0
+NtUserCreateAcceleratorTable at 8
+NtUserCreateCaret at 16
+NtUserCreateDesktop at 20
+;NtUserCreateInputContext at 4
+NtUserCreateLocalMemHandle at 16
+;NtUserCreateWindowEx at 60
+;NtUserCreateWindowStation at 28
+NtUserDdeGetQualityOfService at 12
+NtUserDdeInitialize at 20
+NtUserDdeSetQualityOfService at 12
+NtUserDeferWindowPos at 32
+NtUserDefSetText at 8
+;NtUserDeleteMenu at 12
+NtUserDestroyAcceleratorTable at 4
+;NtUserDestroyCursor at 8
+;NtUserDestroyInputContext at 4
+NtUserDestroyMenu at 4
+NtUserDestroyWindow at 4
+;NtUserDisableThreadIme at 4
+NtUserDispatchMessage at 4
+NtUserDragDetect at 12
+NtUserDragObject at 20
+NtUserDrawAnimatedRects at 16
+NtUserDrawCaption at 16
+NtUserDrawCaptionTemp at 28
+NtUserDrawIconEx at 44
+NtUserDrawMenuBarTemp at 20
+NtUserEmptyClipboard at 0
+NtUserEnableMenuItem at 12
+NtUserEnableScrollBar at 12
+NtUserEndDeferWindowPosEx at 8
+NtUserEndMenu at 0
+NtUserEndPaint at 8
+NtUserEnumDisplayDevices at 16
+;NtUserEnumDisplayMonitors at 16
+NtUserEnumDisplaySettings at 16
+NtUserEvent at 4
+NtUserExcludeUpdateRgn at 8
+NtUserFillWindow at 16
+;NtUserFindExistingCursorIcon at 12
+;NtUserFindWindowEx at 20
+NtUserFlashWindowEx at 4
+NtUserGetAltTabInfo at 24
+NtUserGetAncestor at 8
+;NtUserGetAppImeLevel at 4
+NtUserGetAsyncKeyState at 4
+;NtUserGetAtomName at 8
+NtUserGetCaretBlinkTime at 0
+NtUserGetCaretPos at 4
+;NtUserGetClassInfo at 20
+NtUserGetClassName at 12
+NtUserGetClipboardData at 8
+NtUserGetClipboardFormatName at 12
+NtUserGetClipboardOwner at 0
+NtUserGetClipboardSequenceNumber at 0
+NtUserGetClipboardViewer at 0
+NtUserGetClipCursor at 4
+NtUserGetComboBoxInfo at 8
+NtUserGetControlBrush at 12
+NtUserGetControlColor at 16
+NtUserGetCPD at 12
+NtUserGetCursorFrameInfo at 16
+NtUserGetCursorInfo at 4
+NtUserGetDC at 4
+NtUserGetDCEx at 12
+NtUserGetDoubleClickTime at 0
+NtUserGetForegroundWindow at 0
+NtUserGetGuiResources at 8
+NtUserGetGUIThreadInfo at 8
+;NtUserGetIconInfo at 24
+;NtUserGetIconSize at 16
+NtUserGetImeHotKey at 16
+;NtUserGetImeInfoEx at 8
+NtUserGetInternalWindowPos at 12
+NtUserGetKeyboardLayoutList at 8
+NtUserGetKeyboardLayoutName at 4
+NtUserGetKeyboardState at 4
+NtUserGetKeyNameText at 12
+NtUserGetKeyState at 4
+NtUserGetListBoxInfo at 4
+NtUserGetMenuBarInfo at 16
+NtUserGetMenuIndex at 8
+NtUserGetMenuItemRect at 16
+NtUserGetMessage at 16
+NtUserGetMouseMovePointsEx at 20
+NtUserGetObjectInformation at 20
+NtUserGetOpenClipboardWindow at 0
+NtUserGetPriorityClipboardFormat at 8
+NtUserGetProcessWindowStation at 0
+;NtUserGetRawInputBuffer at 12
+;NtUserGetRawInputData at 20
+;NtUserGetRawInputDeviceInfo at 16
+;NtUserGetRawInputDeviceList at 12
+;NtUserGetRegisteredRawInputDevices at 12
+NtUserGetScrollBarInfo at 12
+NtUserGetSystemMenu at 8
+NtUserGetThreadDesktop at 8
+NtUserGetThreadState at 4
+NtUserGetTitleBarInfo at 8
+NtUserGetUpdateRect at 12
+NtUserGetUpdateRgn at 12
+NtUserGetWindowDC at 4
+NtUserGetWindowPlacement at 8
+NtUserGetWOWClass at 8
+;NtUserHardErrorControl at 12
+NtUserHideCaret at 4
+NtUserHiliteMenuItem at 16
+NtUserImpersonateDdeClientWindow at 8
+;NtUserInitialize at 12
+NtUserInitializeClientPfnArrays at 16
+;NtUserInitTask at 48
+NtUserInternalGetWindowText at 12
+NtUserInvalidateRect at 12
+NtUserInvalidateRgn at 12
+NtUserIsClipboardFormatAvailable at 4
+NtUserKillTimer at 8
+;NtUserLoadKeyboardLayoutEx at 28
+NtUserLockWindowStation at 4
+NtUserLockWindowUpdate at 4
+NtUserLockWorkStation at 0
+NtUserMapVirtualKeyEx at 16
+NtUserMenuItemFromPoint at 16
+NtUserMessageCall at 28
+;NtUserMinMaximize at 12
+NtUserMNDragLeave at 0
+NtUserMNDragOver at 8
+NtUserModifyUserStartupInfoFlags at 8
+NtUserMoveWindow at 24
+NtUserNotifyIMEStatus at 12
+;NtUserNotifyProcessCreate at 16
+NtUserNotifyWinEvent at 16
+NtUserOpenClipboard at 8
+NtUserOpenDesktop at 12
+NtUserOpenInputDesktop at 12
+NtUserOpenWindowStation at 8
+NtUserPaintDesktop at 4
+NtUserPeekMessage at 20
+NtUserPostMessage at 16
+NtUserPostThreadMessage at 16
+;NtUserPrintWindow at 12
+;NtUserProcessConnect at 12
+;NtUserQueryInformationThread at 20
+;NtUserQueryInputContext at 8
+NtUserQuerySendMessage at 4
+NtUserQueryUserCounters at 20
+NtUserQueryWindow at 8
+NtUserRealChildWindowFromPoint at 12
+;NtUserRealInternalGetMessage at 24
+;NtUserRealWaitMessageEx at 8
+NtUserRedrawWindow at 16
+;NtUserRegisterClassExWOW at 28
+;NtUserRegisterUserApiHook at 8
+NtUserRegisterHotKey at 16
+;NtUserRegisterRawInputDevices at 12
+NtUserRegisterTasklist at 4
+NtUserRegisterWindowMessage at 4
+NtUserRemoveMenu at 12
+NtUserRemoveProp at 8
+;NtUserResolveDesktop at 16
+NtUserResolveDesktopForWOW at 4
+NtUserSBGetParms at 16
+NtUserScrollDC at 28
+NtUserScrollWindowEx at 32
+;NtUserSelectPalette at 12
+NtUserSendInput at 12
+NtUserSetActiveWindow at 4
+;NtUserSetAppImeLevel at 8
+NtUserSetCapture at 4
+NtUserSetClassLong at 16
+NtUserSetClassWord at 12
+NtUserSetClipboardData at 12
+NtUserSetClipboardViewer at 4
+NtUserSetConsoleReserveKeys at 8
+NtUserSetCursor at 4
+;NtUserSetCursorContents at 8
+;NtUserSetCursorIconData at 16
+NtUserSetDbgTag at 8
+NtUserSetFocus at 4
+NtUserSetImeHotKey at 20
+;NtUserSetImeInfoEx at 4
+NtUserSetImeOwnerWindow at 8
+;NtUserSetInformationProcess at 16
+;NtUserSetInformationThread at 16
+NtUserSetInternalWindowPos at 16
+NtUserSetKeyboardState at 4
+NtUserSetLogonNotifyWindow at 4
+NtUserSetMenu at 12
+NtUserSetMenuContextHelpId at 8
+NtUserSetMenuDefaultItem at 12
+NtUserSetMenuFlagRtoL at 4
+NtUserSetObjectInformation at 16
+NtUserSetParent at 8
+NtUserSetProcessWindowStation at 4
+NtUserSetProp at 12
+NtUserSetRipFlags at 8
+NtUserSetScrollInfo at 16
+NtUserSetShellWindowEx at 8
+NtUserSetSysColors at 16
+NtUserSetSystemCursor at 8
+NtUserSetSystemMenu at 8
+NtUserSetSystemTimer at 16
+NtUserSetThreadDesktop at 4
+;NtUserSetThreadLayoutHandles at 8
+NtUserSetThreadState at 8
+NtUserSetTimer at 16
+NtUserSetWindowFNID at 8
+NtUserSetWindowLong at 16
+NtUserSetWindowPlacement at 8
+NtUserSetWindowPos at 28
+NtUserSetWindowRgn at 12
+NtUserSetWindowsHookAW at 12
+NtUserSetWindowsHookEx at 24
+NtUserSetWindowStationUser at 16
+NtUserSetWindowWord at 12
+NtUserSetWinEventHook at 32
+NtUserShowCaret at 4
+NtUserShowScrollBar at 12
+NtUserShowWindow at 8
+NtUserShowWindowAsync at 8
+;NtUserSoundSentry at 0
+NtUserSwitchDesktop at 4
+NtUserSystemParametersInfo at 16
+;NtUserTestForInteractiveUser at 4
+NtUserThunkedMenuInfo at 8
+NtUserThunkedMenuItemInfo at 24
+NtUserToUnicodeEx at 28
+NtUserTrackMouseEvent at 4
+NtUserTrackPopupMenuEx at 24
+;NtUserCalcMenuBar at 20
+;NtUserPaintMenuBar at 24
+NtUserTranslateAccelerator at 12
+NtUserTranslateMessage at 8
+NtUserUnhookWindowsHookEx at 4
+NtUserUnhookWinEvent at 4
+NtUserUnloadKeyboardLayout at 4
+NtUserUnlockWindowStation at 4
+;NtUserUnregisterClass at 12
+;NtUserUnregisterUserApiHook at 0
+NtUserUnregisterHotKey at 8
+NtUserUpdateInputContext at 12
+NtUserUpdateInstance at 12
+NtUserUpdateLayeredWindow at 36
+;NtUserGetLayeredWindowAttributes at 16
+NtUserSetLayeredWindowAttributes at 16
+NtUserUpdatePerUserSystemParameters at 8
+NtUserUserHandleGrantAccess at 12
+NtUserValidateHandleSecure at 4
+;NtUserValidateRect at 8
+NtUserVkKeyScanEx at 12
+;NtUserWaitForInputIdle at 12
+NtUserWaitForMsgAndEvent at 4
+NtUserWaitMessage at 0
+NtUserWin32PoolAllocationStats at 24
+NtUserWindowFromPoint at 8
+NtUserYieldTask at 0
+;NtUserRemoteConnect at 12
+;NtUserRemoteRedrawRectangle at 16
+;NtUserRemoteRedrawScreen at 0
+;NtUserRemoteStopScreenUpdates at 0
+;NtUserCtxDisplayIOCtl at 12
+;NtGdiEngAssociateSurface at 12
+;NtGdiEngCreateBitmap at 24
+;NtGdiEngCreateDeviceSurface at 16
+;NtGdiEngCreateDeviceBitmap at 16
+;NtGdiEngCreatePalette at 24
+;NtGdiEngComputeGlyphSet at 12
+;NtGdiEngCopyBits at 24
+;NtGdiEngDeletePalette at 4
+;NtGdiEngDeleteSurface at 4
+;NtGdiEngEraseSurface at 12
+;NtGdiEngUnlockSurface at 4
+;NtGdiEngLockSurface at 4
+;NtGdiEngBitBlt at 44
+;NtGdiEngStretchBlt at 44
+;NtGdiEngPlgBlt at 44
+;NtGdiEngMarkBandingSurface at 4
+;NtGdiEngStrokePath at 32
+;NtGdiEngFillPath at 28
+;NtGdiEngStrokeAndFillPath at 40
+;NtGdiEngPaint at 20
+;NtGdiEngLineTo at 36
+;NtGdiEngAlphaBlend at 28
+;NtGdiEngGradientFill at 40
+;NtGdiEngTransparentBlt at 32
+;NtGdiEngTextOut at 40
+;NtGdiEngStretchBltROP at 52
+;NtGdiXLATEOBJ_cGetPalette at 16
+;NtGdiXLATEOBJ_iXlate at 8
+;NtGdiXLATEOBJ_hGetColorTransform at 4
+;NtGdiCLIPOBJ_bEnum at 12
+;NtGdiCLIPOBJ_cEnumStart at 20
+;NtGdiCLIPOBJ_ppoGetPath at 4
+;NtGdiEngDeletePath at 4
+;NtGdiEngCreateClip at 0
+;NtGdiEngDeleteClip at 4
+;NtGdiBRUSHOBJ_ulGetBrushColor at 4
+;NtGdiBRUSHOBJ_pvAllocRbrush at 8
+;NtGdiBRUSHOBJ_pvGetRbrush at 4
+;NtGdiBRUSHOBJ_hGetColorTransform at 4
+;NtGdiXFORMOBJ_bApplyXform at 20
+;NtGdiXFORMOBJ_iGetXform at 8
+;NtGdiFONTOBJ_vGetInfo at 12
+;NtGdiFONTOBJ_pxoGetXform at 4
+;NtGdiFONTOBJ_cGetGlyphs at 20
+;NtGdiFONTOBJ_pifi at 4
+;NtGdiFONTOBJ_pfdg at 4
+;NtGdiFONTOBJ_pQueryGlyphAttrs at 8
+;NtGdiFONTOBJ_pvTrueTypeFontFile at 8
+;NtGdiFONTOBJ_cGetAllGlyphHandles at 8
+;NtGdiSTROBJ_bEnum at 12
+;NtGdiSTROBJ_bEnumPositionsOnly at 12
+;NtGdiSTROBJ_bGetAdvanceWidths at 16
+;NtGdiSTROBJ_vEnumStart at 4
+;NtGdiSTROBJ_dwGetCodePage at 4
+;NtGdiPATHOBJ_vGetBounds at 8
+;NtGdiPATHOBJ_bEnum at 8
+;NtGdiPATHOBJ_vEnumStart at 4
+;NtGdiPATHOBJ_vEnumStartClipLines at 16
+;NtGdiPATHOBJ_bEnumClipLines at 12
+;NtGdiGetDhpdev at 4
+;NtGdiEngCheckAbort at 4
+;NtGdiHT_Get8BPPFormatPalette at 16
+;NtGdiHT_Get8BPPMaskPalette at 24
+;NtGdiUpdateTransform at 4
+;NtGdiSetPUMPDOBJ at 16
+;NtGdiBRUSHOBJ_DeleteRbrush at 8
+;NtGdiUMPDEngFreeUserMem at 4
+;NtGdiUnmapMemFont at 4
+;NtGdiDrawStream at 12
+

Added: trunk/rostests/apitests/w32kdll/w32kdll.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32kdll/w32kdll.rbuild?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32kdll/w32kdll.rbuild (added)
+++ trunk/rostests/apitests/w32kdll/w32kdll.rbuild Fri Aug  3 01:42:37 2007
@@ -1,0 +1,7 @@
+<module name="w32kdll" type="win32dll" entrypoint="0" installname="w32kdll.dll">
+	<importlibrary definition="w32kdll.def" />
+	<define name="__USE_W32API" />
+	<define name="_WIN32_WINNT">0x0502</define>
+	<library>win32ksys</library>
+	<file>main.c</file>
+</module>

Added: trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdCreateDirectDrawObject.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdCreateDirectDrawObject.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdCreateDirectDrawObject.c (added)
+++ trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdCreateDirectDrawObject.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,25 @@
+#include "..\w32knapi.h"
+
+W32KAPI
+HANDLE
+APIENTRY
+NtGdiDdCreateDirectDrawObject(
+    IN HDC hdc
+)
+{
+	return (HANDLE)Syscall(L"NtGdiDdCreateDirectDrawObject", 1, &hdc);
+}
+
+BOOL
+Test_NtGdiDdCreateDirectDrawObject(PTESTINFO pti)
+{
+    HDC hdc=CreateDCW(L"Display",NULL,NULL,NULL);
+
+    RTEST(NtGdiDdCreateDirectDrawObject(NULL) == NULL);
+
+    TEST(NtGdiDdCreateDirectDrawObject(hdc) != NULL);
+    
+    DeleteDC(hdc);
+
+    return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdDeleteDirectDrawObject.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdDeleteDirectDrawObject.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdDeleteDirectDrawObject.c (added)
+++ trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdDeleteDirectDrawObject.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,19 @@
+#include "..\w32knapi.h"
+
+W32KAPI
+BOOL
+APIENTRY
+NtGdiDdDeleteDirectDrawObject(
+    HANDLE hDirectDrawLocal
+)
+{
+	return (BOOL)Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDrawLocal);
+}
+
+BOOL
+Test_NtGdiDdDeleteDirectDrawObject(PTESTINFO pti)
+{
+    TEST(NtGdiDdDeleteDirectDrawObject(NULL) == 0);
+
+    return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c (added)
+++ trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,27 @@
+#include "..\w32knapi.h"
+#if 0
+W32KAPI
+BOOL STDCALL 
+NtGdiDdQueryDirectDrawObject(
+    HANDLE hDirectDrawLocal,
+    DD_HALINFO  *pHalInfo,
+    DWORD *pCallBackFlags,
+    LPD3DNTHAL_CALLBACKS puD3dCallbacks,
+    LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
+    PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
+    LPDDSURFACEDESC puD3dTextureFormats,
+    DWORD *puNumHeaps,
+    VIDEOMEMORY *puvmList,
+    DWORD *puNumFourCC,
+    DWORD *puFourCC
+)
+{
+	return (HANDLE)Syscall("NtGdiDdQueryDirectDrawObject", 11, &hDirectDrawLocal);
+}
+#endif
+BOOL
+Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
+{
+
+    return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiArcInternal.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/NtGdiArcInternal.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiArcInternal.c (added)
+++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiArcInternal.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,57 @@
+#include "../w32knapi.h"
+
+typedef int ARCTYPE;
+
+BOOL
+STDCALL
+NtGdiArcInternal(
+        ARCTYPE arctype,
+        HDC  hDC,
+        int  LeftRect,
+        int  TopRect,
+        int  RightRect,
+        int  BottomRect,
+        int  XStartArc,
+        int  YStartArc,
+        int  XEndArc,
+        int  YEndArc)
+{
+	return (BOOL)Syscall(L"NtGdiArcInternal", 10, &arctype);
+}
+
+BOOL
+Test_NtGdiArcInternal(PTESTINFO pti)
+{
+	HDC hDC = CreateDCW(L"Display",NULL,NULL,NULL);
+
+	SetLastError(ERROR_SUCCESS);
+	TEST(NtGdiArcInternal(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) == FALSE);
+	TEST(GetLastError() == ERROR_INVALID_HANDLE);
+
+	SetLastError(ERROR_SUCCESS);
+	TEST(NtGdiArcInternal(0, hDC, 0, 0, 0, 0, 0, 0, 0, 0) == TRUE);
+	TEST(NtGdiArcInternal(1, hDC, 0, 0, 0, 0, 0, 0, 0, 0) == TRUE);
+	TEST(NtGdiArcInternal(2, hDC, 0, 0, 0, 0, 0, 0, 0, 0) == TRUE);
+	TEST(NtGdiArcInternal(3, hDC, 0, 0, 0, 0, 0, 0, 0, 0) == TRUE);
+	TEST(GetLastError() == ERROR_SUCCESS);
+
+	SetLastError(ERROR_SUCCESS);
+	TEST(NtGdiArcInternal(4, hDC, 0, 0, 0, 0, 0, 0, 0, 0) == FALSE);
+	TEST(GetLastError() == ERROR_INVALID_PARAMETER);
+
+	SetLastError(ERROR_SUCCESS);
+	TEST(NtGdiArcInternal(4, (HDC)10, 0, 0, 0, 0, 0, 0, 0, 0) == FALSE);
+	TEST(GetLastError() == ERROR_INVALID_HANDLE);
+
+	SetLastError(ERROR_SUCCESS);
+	TEST(NtGdiArcInternal(0, hDC, 10, 10, 0, 0, 0, 0, 0, 0) == TRUE);
+	TEST(NtGdiArcInternal(0, hDC, 10, 10, -10, -10, 0, 0, 0, 0) == TRUE);
+	TEST(NtGdiArcInternal(0, hDC, 0, 0, 0, 0, 10, 0, -10, 0) == TRUE);
+
+// was passiert, wenn left > right ? einfach tauschen?
+
+
+	DeleteDC(hDC);
+
+	return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetBitmapBits.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetBitmapBits.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetBitmapBits.c (added)
+++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetBitmapBits.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,74 @@
+#include "../w32knapi.h"
+
+LONG STDCALL
+NtGdiGetBitmapBits(
+	HBITMAP  hBitmap,
+	DWORD  Bytes,
+	IN PBYTE Bits)
+{
+	return (LONG)Syscall(L"NtGdiGetBitmapBits", 3, &hBitmap);
+}
+
+
+BOOL
+Test_NtGdiGetBitmapBits(PTESTINFO pti)
+{
+	BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
+	HBITMAP hBitmap;
+
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiGetBitmapBits(0, 0, 0) == 0);
+	RTEST(GetLastError() == ERROR_INVALID_HANDLE);
+
+	/* Test NULL bitmap handle */
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiGetBitmapBits(0, 5, Bits) == 0);
+	RTEST(GetLastError() == ERROR_INVALID_HANDLE);
+
+	/* Test invalid bitmap handle */
+	hBitmap = (HBITMAP)CreatePen(PS_SOLID, 1, RGB(1,2,3));
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiGetBitmapBits(hBitmap, 5, Bits) == 0);
+	RTEST(GetLastError() == ERROR_INVALID_HANDLE);
+	DeleteObject(hBitmap);
+
+	hBitmap = CreateBitmap(3, 3, 1, 8, NULL);
+	SetLastError(ERROR_SUCCESS);
+
+	/* test NULL pointer and count buffer size != 0 */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 5, NULL) == 12);
+
+	/* test NULL pointer and buffer size == 0*/
+	RTEST(NtGdiGetBitmapBits(hBitmap, 0, NULL) == 12);
+
+	/* test bad pointer */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 5, (PBYTE)0x500) == 0);
+
+	/* Test if we can set a number of bytes between lines */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 5, Bits) == 5);
+
+	/* Test alignment */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 4, Bits+1) == 4);
+
+	/* Test 1 byte too much */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 10, Bits) == 10);
+
+	/* Test one row too much */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 12, Bits) == 12);
+
+	RTEST(NtGdiGetBitmapBits(hBitmap, 13, Bits) == 12);
+
+	RTEST(NtGdiGetBitmapBits(hBitmap, 100, Bits) == 12);
+
+	/* Test huge bytes count */
+	RTEST(NtGdiGetBitmapBits(hBitmap, 12345678, Bits) == 12);
+
+	/* Test negative bytes count */
+	RTEST(NtGdiGetBitmapBits(hBitmap, -5, Bits) == 12);
+
+	RTEST(GetLastError() == ERROR_SUCCESS);
+
+	DeleteObject(hBitmap);
+
+	return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetBitmapBits.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetBitmapBits.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetBitmapBits.c (added)
+++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiSetBitmapBits.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,74 @@
+#include "../w32knapi.h"
+
+LONG STDCALL
+NtGdiSetBitmapBits(
+	HBITMAP  hBitmap,
+	DWORD  Bytes,
+	IN PBYTE Bits)
+{
+	return (LONG)Syscall(L"NtGdiSetBitmapBits", 3, &hBitmap);
+}
+
+
+BOOL
+Test_NtGdiSetBitmapBits(PTESTINFO pti)
+{
+	BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
+	HBITMAP hBitmap;
+
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiSetBitmapBits(0, 0, 0) == 0);
+	RTEST(GetLastError() == ERROR_SUCCESS);
+
+	/* Test NULL bitnap handle */
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiSetBitmapBits(0, 5, Bits) == 0);
+	RTEST(GetLastError() == ERROR_INVALID_HANDLE);
+
+	/* Test invalid bitmap handle */
+	hBitmap = (HBITMAP)CreatePen(PS_SOLID, 1, RGB(1,2,3));
+	SetLastError(ERROR_SUCCESS);
+	RTEST(NtGdiSetBitmapBits(hBitmap, 5, Bits) == 0);
+	RTEST(GetLastError() == ERROR_INVALID_HANDLE);
+	DeleteObject(hBitmap);
+
+	hBitmap = CreateBitmap(3, 3, 1, 8, NULL);
+	SetLastError(ERROR_SUCCESS);
+
+	/* test NULL pointer and count buffer size != 0 */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 5, NULL) == 0);
+
+	/* test NULL pointer and buffer size == 0*/
+	RTEST(NtGdiSetBitmapBits(hBitmap, 0, NULL) == 0);
+
+	/* test bad pointer */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 5, (PBYTE)0x500) == 0);
+
+	/* Test if we can set a number of bytes between lines */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 5, Bits) == 5);
+
+	/* Test alignment */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 4, Bits+1) == 4);
+
+	/* Test 1 byte too much */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 10, Bits) == 10);
+
+	/* Test one row too much */
+	RTEST(NtGdiSetBitmapBits(hBitmap, 12, Bits) == 12);
+
+	RTEST(NtGdiSetBitmapBits(hBitmap, 13, Bits) == 12);
+
+	RTEST(NtGdiSetBitmapBits(hBitmap, 100, Bits) == 12);
+
+	/* Test huge bytes count */
+	TEST(NtGdiSetBitmapBits(hBitmap, 12345678, Bits) == 0);
+
+	/* Test negative bytes count */
+	RTEST(NtGdiSetBitmapBits(hBitmap, -5, Bits) == 0);
+
+	RTEST(GetLastError() == ERROR_SUCCESS);
+
+	DeleteObject(hBitmap);
+
+	return TRUE;
+}

Added: trunk/rostests/apitests/w32knapi/ntuser/NtUserCountClipboardFormats.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntuser/NtUserCountClipboardFormats.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntuser/NtUserCountClipboardFormats.c (added)
+++ trunk/rostests/apitests/w32knapi/ntuser/NtUserCountClipboardFormats.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,18 @@
+#include "../w32knapi.h"
+
+/* First the call stub */
+DWORD STDCALL
+NtUserCountClipboardFormats(VOID)
+{
+	DWORD p;
+	return Syscall(L"NtUserCountClipboardFormats", 0, &p);
+}
+
+BOOL
+Test_NtUserCountClipboardFormats(PTESTINFO pti)
+{
+	TEST(NtUserCountClipboardFormats() < 1000);
+	TEST(TRUE);
+	return TRUE;
+}
+

Added: trunk/rostests/apitests/w32knapi/testlist.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/testlist.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/testlist.c (added)
+++ trunk/rostests/apitests/w32knapi/testlist.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,37 @@
+#include "..\apitest.h"
+
+/* include the tests */
+
+#include "ntdd/NtGdiDdCreateDirectDrawObject.c"
+#include "ntdd/NtGdiDdDeleteDirectDrawObject.c"
+#include "ntdd/NtGdiDdQueryDirectDrawObject.c"
+
+#include "ntgdi/NtGdiArcInternal.c"
+#include "ntgdi/NtGdiSetBitmapBits.c"
+#include "ntgdi/NtGdiGetBitmapBits.c"
+
+#include "ntuser/NtUserCountClipboardFormats.c"
+
+/* The List of tests */
+TESTENTRY TestList[] =
+{
+    /* DirectDraw */
+	{ L"NtGdiDdCreateDirectDrawObject", Test_NtGdiDdCreateDirectDrawObject },
+	{ L"NtGdiDdDeleteDirectDrawObject", Test_NtGdiDdDeleteDirectDrawObject },
+	{ L"NtGdiDdQueryDirectDrawObject", Test_NtGdiDdQueryDirectDrawObject },
+
+    /* ntgdi */
+	{ L"NtGdiArcInternal", Test_NtGdiArcInternal },
+	{ L"NtGdiGetBitmapBits", Test_NtGdiGetBitmapBits },
+	{ L"NtGdiSetBitmapBits", Test_NtGdiSetBitmapBits },
+
+    /* ntuser */
+	{ L"NtUserCountClipboardFormats", Test_NtUserCountClipboardFormats }
+};
+
+/* The function that gives us the number of tests */
+INT NumTests(void)
+{
+	return sizeof(TestList) / sizeof(TESTENTRY);
+}
+

Added: trunk/rostests/apitests/w32knapi/w32knapi.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/w32knapi.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/w32knapi.c (added)
+++ trunk/rostests/apitests/w32knapi/w32knapi.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,161 @@
+#include "w32knapi.h"
+
+HINSTANCE g_hInstance;
+HMODULE g_hModule = NULL;
+INT g_nOs;
+PSYSCALL_ENTRY g_SyscallTable;
+
+BOOL
+InitOsVersion()
+{
+	OSVERSIONINFOW osv;
+	LPWSTR pszRos;
+
+	osv.dwOSVersionInfoSize = sizeof(osv);
+	GetVersionExW(&osv);
+	pszRos =  osv.szCSDVersion + wcslen(osv.szCSDVersion) + 1;
+	/* make sure the string is zero terminated */
+	pszRos[127] = 0;
+	/* Is ReactOS? */
+	if (wcsstr(pszRos, L"ReactOS") != NULL)
+	{
+		printf("Running on %ls\n", pszRos);
+		g_hModule = LoadLibraryW(L"w32kdll.dll");
+		if (!g_hModule)
+		{
+			printf("w32kdll.dll not found!\n");
+			return FALSE;
+		}
+		g_nOs = OS_REACTOS;
+		return TRUE;
+	}
+
+	if (osv.dwPlatformId != VER_PLATFORM_WIN32_NT)
+	{
+		printf("Unsupported OS\n");
+		return FALSE;
+	}
+
+	if (osv.dwMajorVersion == 5 && osv.dwMinorVersion == 1 && osv.dwBuildNumber == 2600)
+	{
+		printf("Running on Windows XP, build 2600\n");
+		g_nOs = OS_WINDOWS;
+		g_SyscallTable = SyscallTable_XP_2600;
+		return TRUE;
+	}
+
+	printf("Unsupported OS\n");
+
+	return FALSE;
+}
+
+
+static BOOL
+RosSyscall(LPWSTR lpszFunction, int cParams, void* pParams, DWORD* pResult)
+{
+	DWORD ret;
+	char szFunctionName[MAX_PATH];
+	int ParamSize = cParams * 4;
+
+	sprintf(szFunctionName, "%ls", lpszFunction);
+	FARPROC proc = (FARPROC)GetProcAddress(g_hModule, szFunctionName);
+	if (!proc)
+	{
+		printf("Couldn't find proc: %s\n", szFunctionName);
+		return FALSE;
+	}
+
+	asm volatile
+	(
+		"subl %%eax, %%esp;"	// calculate new stack pos
+		"movl %%esp, %%edi;"	// destination is stackpointer
+		"cld;"					// clear direction flag
+		"rep movsd;"			// copy params to the stack
+		"call *%%edx"			// call function
+		: "=a" (ret)
+		: "c" (cParams), "a" (ParamSize), "S"(pParams), "d"(proc)
+	);
+
+	*pResult = ret;
+	return TRUE;
+}
+
+static PSYSCALL_ENTRY
+GetSyscallEntry(LPWSTR lpszFunction)
+{
+	INT i;
+
+	for (i = 0; g_SyscallTable[i].lpszFunction != NULL; i++)
+	{
+		if (wcscmp(g_SyscallTable[i].lpszFunction, lpszFunction) == 0)
+		{
+			return &g_SyscallTable[i];
+		}
+	}
+	return NULL;
+}
+
+static BOOL
+WinSyscall(LPWSTR pszFunction, void* pParams, void* pResult)
+{
+	PSYSCALL_ENTRY pEntry = GetSyscallEntry(pszFunction);
+	DWORD ret;
+
+	asm volatile ("int $0x2e\n" : "=a"(ret): "a" (pEntry->nSyscallNum), "d" (pParams));\
+	*((DWORD*)pResult) = ret;
+	return FALSE;
+}
+
+DWORD
+Syscall(LPWSTR pszFunction, int cParams, void* pParams)
+{
+    DWORD dwRet = 0;
+
+	if (g_nOs == OS_REACTOS)
+	{
+		RosSyscall(pszFunction, cParams, pParams, &dwRet);
+	}
+	else
+	{
+		WinSyscall(pszFunction, pParams, &dwRet);
+	}
+	return dwRet;
+}
+
+BOOL
+IsFunctionPresent(LPWSTR lpszFunction)
+{
+	if (g_nOs == OS_REACTOS)
+	{
+		char szFunctionName[MAX_PATH];
+		sprintf(szFunctionName, "%ls", lpszFunction);
+		return (GetProcAddress(g_hModule, szFunctionName) != NULL);
+	}
+
+	return (GetSyscallEntry(lpszFunction) != NULL);
+}
+
+int APIENTRY
+WinMain(HINSTANCE hInstance,
+        HINSTANCE hPrevInstance,
+        LPSTR     lpCmdLine,
+        int       nCmdShow)
+{
+	g_hInstance = hInstance;
+
+	printf("Win32k native API test\n");
+
+	/* Convert to gui thread */
+	IsGUIThread(TRUE);
+
+	if (!InitOsVersion())
+	{
+		return 0;
+	}
+
+	printf("\n");
+
+	TestMain(L"w32knapi.exe");
+
+	return 0;
+}

Added: trunk/rostests/apitests/w32knapi/w32knapi.h
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/w32knapi.h?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/w32knapi.h (added)
+++ trunk/rostests/apitests/w32knapi/w32knapi.h Fri Aug  3 01:42:37 2007
@@ -1,0 +1,28 @@
+#ifndef _W32KNAPI_H
+#define _W32KNAPI_H
+
+#include "..\apitest.h"
+#include <ddk/winddi.h>
+
+#define OS_UNSUPPORTED 0
+#define OS_REACTOS	1
+#define OS_WINDOWS	2
+
+#define W32KAPI
+
+typedef struct
+{
+	LPWSTR lpszFunction;
+	INT nSyscallNum;
+	INT nParams;
+} SYCALL_ENTRY, *PSYSCALL_ENTRY;
+
+extern HINSTANCE g_hInstance;
+extern SYCALL_ENTRY SyscallTable_XP_2600[];
+extern HMODULE g_hModule;
+extern INT g_nOsVer;
+
+DWORD Syscall(LPWSTR lpszFunction, int cParams, void* pParams);
+BOOL InitOsVersion();
+
+#endif /* _W32KNAPI_H */

Added: trunk/rostests/apitests/w32knapi/w32knapi.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/w32knapi.rbuild?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/w32knapi.rbuild (added)
+++ trunk/rostests/apitests/w32knapi/w32knapi.rbuild Fri Aug  3 01:42:37 2007
@@ -1,0 +1,13 @@
+<module name="w32knapi" type="win32cui">
+	<include base="w32knapi">.</include>
+	<define name="__USE_W32API" />
+	<define name="_WIN32_WINNT">0x0501</define>
+	<library>kernel32</library>
+	<library>user32</library>
+	<library>gdi32</library>
+	<library>shell32</library>
+	<file>w32knapi.c</file>
+	<file>testlist.c</file>
+	<file>xp-2600.c</file>
+	<file>..\apitest.c</file>
+</module>

Added: trunk/rostests/apitests/w32knapi/xp-2600.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/xp-2600.c?rev=28106&view=auto
==============================================================================
--- trunk/rostests/apitests/w32knapi/xp-2600.c (added)
+++ trunk/rostests/apitests/w32knapi/xp-2600.c Fri Aug  3 01:42:37 2007
@@ -1,0 +1,677 @@
+#include "w32knapi.h"
+
+SYCALL_ENTRY
+SyscallTable_XP_2600[] =
+{
+	{L"NtGdiAbortDoc", 0x1000,1},
+	{L"NtGdiAbortPath", 0x1001,1},
+	{L"NtGdiAddFontResourceW", 0x1002,6},
+	{L"NtGdiAddRemoteFontToDC", 0x1003,4},
+	{L"NtGdiAddFontMemResourceEx", 0x1004,5},
+	{L"NtGdiRemoveMergeFont", 0x1005,2},
+	{L"NtGdiAddRemoteMMInstanceToDC", 0x1006,3},
+	{L"NtGdiAlphaBlend", 0x1007,12},
+	{L"NtGdiAngleArc", 0x1008,6},
+	{L"NtGdiAnyLinkedFonts", 0x1009,0},
+	{L"GreFontIsLinked", 0x100A,1},
+	{L"NtGdiArcInternal", 0x100B,10},
+	{L"NtGdiBeginPath", 0x100C,1},
+	{L"NtGdiBitBlt", 0x100D,11},
+	{L"NtGdiCancelDC", 0x100E,1},
+	{L"NtGdiCheckBitmapBits", 0x100F,8},
+	{L"NtGdiCloseFigure", 0x1010,1},
+	{L"NtGdiClearBitmapAttributes", 0x1011,2},
+	{L"NtGdiClearBrushAttributes", 0x1012,2},
+	{L"NtGdiColorCorrectPalette", 0x1013,6},
+	{L"NtGdiCombineRgn", 0x1014,4},
+	{L"NtGdiCombineTransform", 0x1015,3},
+	{L"NtGdiComputeXformCoefficients", 0x1016,1},
+	{L"NtGdiConsoleTextOut", 0x1017,4},
+	{L"NtGdiConvertMetafileRect", 0x1018,2},
+	{L"NtGdiCreateBitmap", 0x1019,5},
+	{L"NtGdiCreateClientObj", 0x101A,1},
+	{L"NtGdiCreateColorSpace", 0x101B,1},
+	{L"NtGdiCreateColorTransform", 0x101C,8},
+	{L"NtGdiCreateCompatibleBitmap", 0x101D,3},
+	{L"NtGdiCreateCompatibleDC", 0x101E,1},
+	{L"NtGdiCreateDIBBrush", 0x101F,6},
+	{L"NtGdiCreateDIBitmapInternal", 0x1020,11},
+	{L"NtGdiCreateDIBSection", 0x1021,9},
+	{L"NtGdiCreateEllipticRgn", 0x1022,4},
+	{L"NtGdiCreateHalftonePalette", 0x1023,1},
+	{L"NtGdiCreateHatchBrushInternal", 0x1024,3},
+	{L"NtGdiCreateMetafileDC", 0x1025,1},
+	{L"NtGdiCreatePaletteInternal", 0x1026,2},
+	{L"NtGdiCreatePatternBrushInternal", 0x1027,3},
+	{L"NtGdiCreatePen", 0x1028,4},
+	{L"NtGdiCreateRectRgn", 0x1029,4},
+	{L"NtGdiCreateRoundRectRgn", 0x102A,6},
+	{L"NtGdiCreateServerMetaFile", 0x102B,6},
+	{L"NtGdiCreateSolidBrush", 0x102C,2},
+	{L"NtGdiD3dContextCreate", 0x102D,4},
+	{L"NtGdiD3dContextDestroy", 0x102E,1},
+	{L"NtGdiD3dContextDestroyAll", 0x102F,1},
+	{L"NtGdiD3dValidateTextureStageState", 0x1030,1},
+	{L"NtGdiD3dDrawPrimitives2", 0x1031,7},
+	{L"NtGdiDdGetDriverState", 0x1032,1},
+	{L"NtGdiDdAddAttachedSurface", 0x1033,3},
+	{L"NtGdiDdAlphaBlt", 0x1034,3},
+	{L"NtGdiDdAttachSurface", 0x1035,2},
+	{L"NtGdiDdBeginMoCompFrame", 0x1036,2},
+	{L"NtGdiDdBlt", 0x1037,3},
+	{L"NtGdiDdCanCreateSurface", 0x1038,2},
+	{L"NtGdiDdCanCreateD3DBuffer", 0x1039,2},
+	{L"NtGdiDdColorControl", 0x103A,2},
+	{L"NtGdiDdCreateDirectDrawObject", 0x103B,1},
+	{L"NtGdiDdCreateSurface", 0x103C,8},
+	{L"NtGdiDdCreateD3DBuffer", 0x103D,8},
+	{L"NtGdiDdCreateMoComp", 0x103E,2},
+	{L"NtGdiDdCreateSurfaceObject", 0x103F,6},
+	{L"NtGdiDdDeleteDirectDrawObject", 0x1040,1},
+	{L"NtGdiDdDeleteSurfaceObject", 0x1041,1},
+	{L"NtGdiDdDestroyMoComp", 0x1042,2},
+	{L"NtGdiDdDestroySurface", 0x1043,2},
+	{L"NtGdiDdDestroyD3DBuffer", 0x1044,1},
+	{L"NtGdiDdEndMoCompFrame", 0x1045,2},
+	{L"NtGdiDdFlip", 0x1046,5},
+	{L"NtGdiDdFlipToGDISurface", 0x1047,2},
+	{L"NtGdiDdGetAvailDriverMemory", 0x1048,2},
+	{L"NtGdiDdGetBltStatus", 0x1049,2},
+	{L"NtGdiDdGetDC", 0x104A,2},
+	{L"NtGdiDdGetDriverInfo", 0x104B,2},
+	{L"NtGdiDdGetDxHandle", 0x104C,3},
+	{L"NtGdiDdGetFlipStatus", 0x104D,2},
+	{L"NtGdiDdGetInternalMoCompInfo", 0x104E,2},
+	{L"NtGdiDdGetMoCompBuffInfo", 0x104F,2},
+	{L"NtGdiDdGetMoCompGuids", 0x1050,2},
+	{L"NtGdiDdGetMoCompFormats", 0x1051,2},
+	{L"NtGdiDdGetScanLine", 0x1052,2},
+	{L"NtGdiDdLock", 0x1053,3},
+	{L"NtGdiDdLockD3D", 0x1054,2},
+	{L"NtGdiDdQueryDirectDrawObject", 0x1055,11},
+	{L"NtGdiDdQueryMoCompStatus", 0x1056,2},
+	{L"NtGdiDdReenableDirectDrawObject", 0x1057,2},
+	{L"NtGdiDdReleaseDC", 0x1058,1},
+	{L"NtGdiDdRenderMoComp", 0x1059,2},
+	{L"NtGdiDdResetVisrgn", 0x105A,2},
+	{L"NtGdiDdSetColorKey", 0x105B,2},
+	{L"NtGdiDdSetExclusiveMode", 0x105C,2},
+	{L"NtGdiDdSetGammaRamp", 0x105D,3},
+	{L"NtGdiDdCreateSurfaceEx", 0x105E,3},
+	{L"NtGdiDdSetOverlayPosition", 0x105F,3},
+	{L"NtGdiDdUnattachSurface", 0x1060,2},
+	{L"NtGdiDdUnlock", 0x1061,2},
+	{L"NtGdiDdUnlockD3D", 0x1062,2},
+	{L"NtGdiDdUpdateOverlay", 0x1063,3},
+	{L"NtGdiDdWaitForVerticalBlank", 0x1064,2},
+	{L"NtGdiDvpCanCreateVideoPort", 0x1065,2},
+	{L"NtGdiDvpColorControl", 0x1066,2},
+	{L"NtGdiDvpCreateVideoPort", 0x1067,2},
+	{L"NtGdiDvpDestroyVideoPort", 0x1068,2},
+	{L"NtGdiDvpFlipVideoPort", 0x1069,4},
+	{L"NtGdiDvpGetVideoPortBandwidth", 0x106A,2},
+	{L"NtGdiDvpGetVideoPortField", 0x106B,2},
+	{L"NtGdiDvpGetVideoPortFlipStatus", 0x106C,2},
+	{L"NtGdiDvpGetVideoPortInputFormats", 0x106D,2},
+	{L"NtGdiDvpGetVideoPortLine", 0x106E,2},
+	{L"NtGdiDvpGetVideoPortOutputFormats", 0x106F,2},
+	{L"NtGdiDvpGetVideoPortConnectInfo", 0x1070,2},
+	{L"NtGdiDvpGetVideoSignalStatus", 0x1071,2},
+	{L"NtGdiDvpUpdateVideoPort", 0x1072,4},
+	{L"NtGdiDvpWaitForVideoPortSync", 0x1073,2},
+	{L"NtGdiDvpAcquireNotification", 0x1074,3},
+	{L"NtGdiDvpReleaseNotification", 0x1075,2},
+	{L"NtGdiDxgGenericThunk", 0x1076,6},
+	{L"NtGdiDeleteClientObj", 0x1077,1},
+	{L"bDeleteColorSpace", 0x1078,1},
+	{L"NtGdiDeleteColorTransform", 0x1079,2},
+	{L"NtGdiDeleteObjectApp", 0x107A,1},
+	{L"NtGdiDescribePixelFormat", 0x107B,4},
+	{L"NtGdiGetPerBandInfo", 0x107C,2},
+	{L"NtGdiDoBanding", 0x107D,4},
+	{L"NtGdiDoPalette", 0x107E,6},
+	{L"NtGdiDrawEscape", 0x107F,4},
+	{L"NtGdiEllipse", 0x1080,5},
+	{L"GreEnableEUDC", 0x1081,1},
+	{L"NtGdiEndDoc", 0x1082,1},
+	{L"NtGdiEndPage", 0x1083,1},
+	{L"NtGdiEndPath", 0x1084,1},
+	{L"NtGdiEnumFontChunk", 0x1085,5},
+	{L"NtGdiEnumFontClose", 0x1086,1},
+	{L"NtGdiEnumFontOpen", 0x1087,7},
+	{L"NtGdiEnumObjects", 0x1088,4},
+	{L"NtGdiEqualRgn", 0x1089,2},
+	{L"NtGdiEudcLoadUnloadLink", 0x108A,7},
+	{L"NtGdiExcludeClipRect", 0x108B,5},
+	{L"NtGdiExtCreatePen", 0x108C,11},
+	{L"NtGdiExtCreateRegion", 0x108D,3},
+	{L"NtGdiExtEscape", 0x108E,8},
+	{L"NtGdiExtFloodFill", 0x108F,5},
+	{L"NtGdiExtGetObjectW", 0x1090,3},
+	{L"NtGdiExtSelectClipRgn", 0x1091,3},
+	{L"NtGdiExtTextOutW", 0x1092,9},
+	{L"NtGdiFillPath", 0x1093,1},
+	{L"NtGdiFillRgn", 0x1094,3},
+	{L"NtGdiFlattenPath", 0x1095,1},
+	{L"NtGdiFlushUserBatch", 0x1096,0},
+	{L"NtGdiFlush", 0x1097,0},
+	{L"NtGdiForceUFIMapping", 0x1098,2},
+	{L"NtGdiFrameRgn", 0x1099,5},
+	{L"NtGdiFullscreenControl", 0x109A,5},
+	{L"NtGdiGetAndSetDCDword", 0x109B,4},
+	{L"NtGdiGetAppClipBox", 0x109C,2},
+	{L"NtGdiGetBitmapBits", 0x109D,3},
+	{L"NtGdiGetBitmapDimension", 0x109E,2},
+	{L"NtGdiGetBoundsRect", 0x109F,3},
+	{L"NtGdiGetCharABCWidthsW", 0x10A0,6},
+	{L"NtGdiGetCharacterPlacementW", 0x10A1,6},
+	{L"NtGdiGetCharSet", 0x10A2,1},
+	{L"NtGdiGetCharWidthW", 0x10A3,6},
+	{L"NtGdiGetCharWidthInfo", 0x10A4,2},
+	{L"NtGdiGetColorAdjustment", 0x10A5,2},
+	{L"NtGdiGetColorSpaceforBitmap", 0x10A6,1},
+	{L"NtGdiGetDCDword", 0x10A7,3},
+	{L"NtGdiGetDCforBitmap", 0x10A8,1},
+	{L"NtGdiGetDCObject", 0x10A9,2},
+	{L"NtGdiGetDCPoint", 0x10AA,3},
+	{L"NtGdiGetDeviceCaps", 0x10AB,2},
+	{L"NtGdiGetDeviceGammaRamp", 0x10AC,2},
+	{L"NtGdiGetDeviceCapsAll", 0x10AD,2},
+	{L"NtGdiGetDIBitsInternal", 0x10AE,9},
+	{L"NtGdiGetETM", 0x10AF,2},
+	{L"NtGdiGetEudcTimeStampEx", 0x10B0,3},
+	{L"NtGdiGetFontData", 0x10B1,5},
+	{L"NtGdiGetFontResourceInfoInternalW", 0x10B2,7},
+	{L"NtGdiGetGlyphIndicesW", 0x10B3,5},
+	{L"NtGdiGetGlyphIndicesWInternal", 0x10B4,6},
+	{L"NtGdiGetGlyphOutline", 0x10B5,8},
+	{L"NtGdiGetKerningPairs", 0x10B6,3},
+	{L"NtGdiGetLinkedUFIs", 0x10B7,3},
+	{L"NtGdiGetMiterLimit", 0x10B8,2},
+	{L"NtGdiGetMonitorID", 0x10B9,3},
+	{L"NtGdiGetNearestColor", 0x10BA,2},
+	{L"NtGdiGetNearestPaletteIndex", 0x10BB,2},
+	{L"NtGdiGetObjectBitmapHandle", 0x10BC,2},
+	{L"NtGdiGetOutlineTextMetricsInternalW", 0x10BD,4},
+	{L"NtGdiGetPath", 0x10BE,4},
+	{L"NtGdiGetPixel", 0x10BF,3},
+	{L"NtGdiGetRandomRgn", 0x10C0,3},
+	{L"NtGdiGetRasterizerCaps", 0x10C1,2},
+	{L"NtGdiGetRealizationInfo", 0x10C2,3},
+	{L"NtGdiGetRegionData", 0x10C3,3},
+	{L"NtGdiGetRgnBox", 0x10C4,2},
+	{L"NtGdiGetServerMetaFileBits", 0x10C5,7},
+	{L"NtGdiGetSpoolMessage", 0x10C6,4},
+	{L"NtGdiGetStats", 0x10C7,5},
+	{L"NtGdiGetStockObject", 0x10C8,1},
+	{L"NtGdiGetStringBitmapW", 0x10C9,5},
+	{L"NtGdiGetSystemPaletteUse", 0x10CA,1},
+	{L"NtGdiGetTextCharsetInfo", 0x10CB,3},
+	{L"NtGdiGetTextExtent", 0x10CC,5},
+	{L"NtGdiGetTextExtentExW", 0x10CD,8},
+	{L"NtGdiGetTextFaceW", 0x10CE,4},
+	{L"NtGdiGetTextMetricsW", 0x10CF,3},
+	{L"NtGdiGetTransform", 0x10D0,3},
+	{L"NtGdiGetUFI", 0x10D1,6},
+	{L"NtGdiGetEmbUFI", 0x10D2,7},
+	{L"NtGdiGetUFIPathname", 0x10D3,10},
+	{L"GreGetEmbedFonts", 0x10D4,0},
+	{L"NtGdiChangeGhostFont", 0x10D5,2},
+	{L"NtGdiAddEmbFontToDC", 0x10D6,2},
+	{L"NtGdiGetFontUnicodeRanges", 0x10D7,2},
+	{L"NtGdiGetWidthTable", 0x10D8,7},
+	{L"NtGdiGradientFill", 0x10D9,6},
+	{L"NtGdiHfontCreate", 0x10DA,5},
+	{L"NtGdiIcmBrushInfo", 0x10DB,8},
+	{L"NtGdiInit", 0x10DC,0},
+	{L"NtGdiInitSpool", 0x10DD,0},
+	{L"NtGdiIntersectClipRect", 0x10DE,5},
+	{L"NtGdiInvertRgn", 0x10DF,2},
+	{L"NtGdiLineTo", 0x10E0,3},
+	{L"NtGdiMakeFontDir", 0x10E1,5},
+	{L"NtGdiMakeInfoDC", 0x10E2,2},
+	{L"NtGdiMaskBlt", 0x10E3,13},
+	{L"NtGdiModifyWorldTransform", 0x10E4,3},
+	{L"NtGdiMonoBitmap", 0x10E5,1},
+	{L"NtGdiMoveTo", 0x10E6,4},
+	{L"NtGdiOffsetClipRgn", 0x10E7,3},
+	{L"NtGdiOffsetRgn", 0x10E8,3},
+	{L"NtGdiOpenDCW", 0x10E9,7},
+	{L"NtGdiPatBlt", 0x10EA,6},
+	{L"NtGdiPolyPatBlt", 0x10EB,5},
+	{L"NtGdiPathToRegion", 0x10EC,1},
+	{L"NtGdiPlgBlt", 0x10ED,11},
+	{L"NtGdiPolyDraw", 0x10EE,4},
+	{L"NtGdiPolyPolyDraw", 0x10EF,5},
+	{L"NtGdiPolyTextOutW", 0x10F0,4},
+	{L"NtGdiPtInRegion", 0x10F1,3},
+	{L"NtGdiPtVisible", 0x10F2,3},
+	{L"NtGdiQueryFonts", 0x10F3,3},
+	{L"NtGdiQueryFontAssocInfo", 0x10F4,1},
+	{L"NtGdiRectangle", 0x10F5,5},
+	{L"NtGdiRectInRegion", 0x10F6,2},
+	{L"NtGdiRectVisible", 0x10F7,2},
+	{L"NtGdiRemoveFontResourceW", 0x10F8,6},
+	{L"NtGdiRemoveFontMemResourceEx", 0x10F9,1},
+	{L"NtGdiResetDC", 0x10FA,5},
+	{L"NtGdiResizePalette", 0x10FB,2},
+	{L"NtGdiRestoreDC", 0x10FC,2},
+	{L"NtGdiRoundRect", 0x10FD,7},
+	{L"NtGdiSaveDC", 0x10FE,1},
+	{L"NtGdiScaleViewportExtEx", 0x10FF,6},
+	{L"NtGdiScaleWindowExtEx", 0x1100,6},
+	{L"NtGdiSelectBitmap", 0x1101,2},
+	{L"GreSelectBitmap", 0x1101,2},
+	{L"NtGdiSelectBrush", 0x1102,2},
+	{L"NtGdiSelectClipPath", 0x1103,2},
+	{L"NtGdiSelectFont", 0x1104,2},
+	{L"NtGdiSelectPen", 0x1105,2},
+	{L"NtGdiSetBitmapAttributes", 0x1106,2},
+	{L"NtGdiSetBitmapBits", 0x1107,3},
+	{L"NtGdiSetBitmapDimension", 0x1108,4},
+	{L"NtGdiSetBoundsRect", 0x1109,3},
+	{L"NtGdiSetBrushAttributes", 0x110A,2},
+	{L"NtGdiSetBrushOrg", 0x110B,4},
+	{L"NtGdiSetColorAdjustment", 0x110C,2},
+	{L"NtGdiSetColorSpace", 0x110D,2},
+	{L"NtGdiSetDeviceGammaRamp", 0x110E,2},
+	{L"NtGdiSetDIBitsToDeviceInternal", 0x110F,16},
+	{L"NtGdiSetFontEnumeration", 0x1110,1},
+	{L"NtGdiSetFontXform", 0x1111,3},
+	{L"NtGdiSetIcmMode", 0x1112,3},
+	{L"NtGdiSetLinkedUFIs", 0x1113,3},
+	{L"NtGdiSetMagicColors", 0x1114,3},
+	{L"NtGdiSetMetaRgn", 0x1115,1},
+	{L"NtGdiSetMiterLimit", 0x1116,3},
+	{L"NtGdiGetDeviceWidth", 0x1117,1},
+	{L"NtGdiMirrorWindowOrg", 0x1118,1},
+	{L"NtGdiSetLayout", 0x1119,3},
+	{L"NtGdiSetPixel", 0x111A,4},
+	{L"NtGdiSetPixelFormat", 0x111B,2},
+	{L"NtGdiSetRectRgn", 0x111C,5},
+	{L"NtGdiSetSystemPaletteUse", 0x111D,2},
+	{L"NtGdiSetTextJustification", 0x111E,3},
+	{L"NtGdiSetupPublicCFONT", 0x111F,3},
+	{L"NtGdiSetVirtualResolution", 0x1120,5},
+	{L"NtGdiSetSizeDevice", 0x1121,3},
+	{L"NtGdiStartDoc", 0x1122,4},
+	{L"NtGdiStartPage", 0x1123,1},
+	{L"NtGdiStretchBlt", 0x1124,12},
+	{L"NtGdiStretchDIBitsInternal", 0x1125, 16},
+	{L"NtGdiStrokeAndFillPath", 0x1126,1},
+	{L"NtGdiStrokePath", 0x1127,1},
+	{L"NtGdiSwapBuffers", 0x1128,1},
+	{L"NtGdiTransformPoints", 0x1129,5},
+	{L"NtGdiTransparentBlt", 0x112A,11},
+	{L"NtGdiUnloadPrinterDriver", 0x112B,2},
+	{L"NtGdiUMPDEngFreeUserMem", 0x112C,1},
+	{L"NtGdiUnmapMemFont", 0x112C,1},
+	{L"NtGdiUnrealizeObject", 0x112D,1},
+	{L"NtGdiUpdateColors", 0x112E,1},
+	{L"NtGdiWidenPath", 0x112F,1},
+	{L"NtUserActivateKeyboardLayout", 0x1130,2},
+	{L"NtUserAlterWindowStyle", 0x1131,3},
+	{L"NtUserAssociateInputContext", 0x1132,3},
+	{L"NtUserAttachThreadInput", 0x1133,3},
+	{L"NtUserBeginPaint", 0x1134,2},
+	{L"NtUserBitBltSysBmp", 0x1135,8},
+	{L"NtUserBlockInput", 0x1136,1},
+	{L"NtUserBuildHimcList", 0x1137,4},
+	{L"NtUserBuildHwndList", 0x1138,7},
+	{L"NtUserBuildNameList", 0x1139,4},
+	{L"NtUserBuildPropList", 0x113A,4},
+	{L"NtUserCallHwnd", 0x113B,2},
+	{L"NtUserCallHwndLock", 0x113C,2},
+	{L"NtUserCallHwndOpt", 0x113D,2},
+	{L"NtUserCallHwndParam", 0x113E,3},
+	{L"NtUserCallHwndParamLock", 0x113F,3},
+	{L"NtUserCallMsgFilter", 0x1140,2},
+	{L"NtUserCallNextHookEx", 0x1141,4},
+	{L"NtUserCallNoParam", 0x1142,1},
+	{L"NtUserCallOneParam", 0x1143,2},
+	{L"NtUserCallTwoParam", 0x1144,3},
+	{L"NtUserChangeClipboardChain", 0x1145,2},
+	{L"NtUserChangeDisplaySettings", 0x1146,5},
+	{L"NtUserCheckImeHotKey", 0x1147,2},
+	{L"NtUserCheckMenuItem", 0x1148,3},
+	{L"NtUserChildWindowFromPointEx", 0x1149,4},
+	{L"NtUserClipCursor", 0x114A,1},
+	{L"NtUserCloseClipboard", 0x114B,0},
+	{L"NtUserCloseDesktop", 0x114C,1},
+	{L"NtUserCloseWindowStation", 0x114D,1},
+	{L"NtUserConsoleControl", 0x114E,3},
+	{L"NtUserConvertMemHandle", 0x114F,2},
+	{L"NtUserCopyAcceleratorTable", 0x1150,3},
+	{L"NtUserCountClipboardFormats", 0x1151,0},
+	{L"NtUserCreateAcceleratorTable", 0x1152,2},
+	{L"NtUserCreateCaret", 0x1153,4},
+	{L"NtUserCreateDesktop", 0x1154,5},
+	{L"NtUserCreateInputContext", 0x1155,1},
+	{L"NtUserCreateLocalMemHandle", 0x1156,4},
+	{L"NtUserCreateWindowEx", 0x1157,16},
+	{L"NtUserCreateWindowStation", 0x1158,7},
+	{L"NtUserDdeGetQualityOfService", 0x1159,3},
+	{L"NtUserDdeInitialize", 0x115A,5},
+	{L"NtUserDdeSetQualityOfService", 0x115B,3},
+	{L"NtUserDeferWindowPos", 0x115C,8},
+	{L"NtUserDefSetText", 0x115D,2},
+	{L"NtUserDeleteMenu", 0x115E,3},
+	{L"NtUserDestroyAcceleratorTable", 0x115F,1},
+	{L"NtUserDestroyCursor", 0x1160,2},
+	{L"NtUserDestroyInputContext", 0x1161,1},
+	{L"NtUserDestroyMenu", 0x1162,1},
+	{L"NtUserDestroyWindow", 0x1163,1},
+	{L"NtUserDisableThreadIme", 0x1164,1},
+	{L"NtUserDispatchMessage", 0x1165,1},
+	{L"NtUserDragDetect", 0x1166,3},
+	{L"NtUserDragObject", 0x1167,5},
+	{L"NtUserDrawAnimatedRects", 0x1168,4},
+	{L"NtUserDrawCaption", 0x1169,4},
+	{L"NtUserDrawCaptionTemp", 0x116A,7},
+	{L"NtUserDrawIconEx", 0x116B,11},
+	{L"NtUserDrawMenuBarTemp", 0x116C,5},
+	{L"NtUserEmptyClipboard", 0x116D,0},
+	{L"NtUserEnableMenuItem", 0x116E,3},
+	{L"NtUserEnableScrollBar", 0x116F,3},
+	{L"NtUserEndDeferWindowPosEx", 0x1170,2},
+	{L"NtUserEndMenu", 0x1171,0},
+	{L"NtUserEndPaint", 0x1172,2},
+	{L"NtUserEnumDisplayDevices", 0x1173,4},
+	{L"NtUserEnumDisplayMonitors", 0x1174,4},
+	{L"NtUserEnumDisplaySettings", 0x1175,4},
+	{L"NtUserEvent", 0x1176,1},
+	{L"NtUserExcludeUpdateRgn", 0x1177,2},
+	{L"NtUserFillWindow", 0x1178,4},
+	{L"NtUserFindExistingCursorIcon", 0x1179,3},
+	{L"NtUserFindWindowEx", 0x117A,5},
+	{L"NtUserFlashWindowEx", 0x117B,1},
+	{L"NtUserGetAltTabInfo", 0x117C,6},
+	{L"NtUserGetAncestor", 0x117D,2},
+	{L"NtUserGetAppImeLevel", 0x117E,1},
+	{L"NtUserGetAsyncKeyState", 0x117F,1},
+	{L"NtUserGetAtomName", 0x1180,2},
+	{L"NtUserGetCaretBlinkTime", 0x1181,0},
+	{L"NtUserGetCaretPos", 0x1182,1},
+	{L"NtUserGetClassInfo", 0x1183,5},
+	{L"NtUserGetClassName", 0x1184,3},
+	{L"NtUserGetClipboardData", 0x1185,2},
+	{L"NtUserGetClipboardFormatName", 0x1186,3},
+	{L"NtUserGetClipboardOwner", 0x1187,0},
+	{L"NtUserGetClipboardSequenceNumber", 0x1188,0},
+	{L"NtUserGetClipboardViewer", 0x1189,0},
+	{L"NtUserGetClipCursor", 0x118A,1},
+	{L"NtUserGetComboBoxInfo", 0x118B,2},
+	{L"NtUserGetControlBrush", 0x118C,3},
+	{L"NtUserGetControlColor", 0x118D,4},
+	{L"NtUserGetCPD", 0x118E,3},
+	{L"NtUserGetCursorFrameInfo", 0x118F,4},
+	{L"NtUserGetCursorInfo", 0x1190,1},
+	{L"NtUserGetDC", 0x1191,1},
+	{L"NtUserGetDCEx", 0x1192,3},
+	{L"NtUserGetDoubleClickTime", 0x1193,0},
+	{L"NtUserGetForegroundWindow", 0x1194,0},
+	{L"NtUserGetGuiResources", 0x1195,2},
+	{L"NtUserGetGUIThreadInfo", 0x1196,2},
+	{L"NtUserGetIconInfo", 0x1197,6},
+	{L"NtUserGetIconSize", 0x1198,4},
+	{L"NtUserGetImeHotKey", 0x1199,4},
+	{L"NtUserGetImeInfoEx", 0x119A,2},
+	{L"NtUserGetInternalWindowPos", 0x119B,3},
+	{L"NtUserGetKeyboardLayoutList", 0x119C,2},
+	{L"NtUserGetKeyboardLayoutName", 0x119D,1},
+	{L"NtUserGetKeyboardState", 0x119E,1},
+	{L"NtUserGetKeyNameText", 0x119F,3},
+	{L"NtUserGetKeyState", 0x11A0,1},
+	{L"NtUserGetListBoxInfo", 0x11A1,1},
+	{L"NtUserGetMenuBarInfo", 0x11A2,4},
+	{L"NtUserGetMenuIndex", 0x11A3,2},
+	{L"NtUserGetMenuItemRect", 0x11A4,4},
+	{L"NtUserGetMessage", 0x11A5,4},
+	{L"NtUserGetMouseMovePointsEx", 0x11A6,5},
+	{L"NtUserGetObjectInformation", 0x11A7,5},
+	{L"NtUserGetOpenClipboardWindow", 0x11A8,0},
+	{L"NtUserGetPriorityClipboardFormat", 0x11A9,2},
+	{L"NtUserGetProcessWindowStation", 0x11AA,0},
+	{L"NtUserGetRawInputBuffer", 0x11AB,3},
+	{L"NtUserGetRawInputData", 0x11AC,5},
+	{L"NtUserGetRawInputDeviceInfo", 0x11AD,4},
+	{L"NtUserGetRawInputDeviceList", 0x11AE,3},
+	{L"NtUserGetRegisteredRawInputDevices", 0x11AF,3},
+	{L"NtUserGetScrollBarInfo", 0x11B0,3},
+	{L"NtUserGetSystemMenu", 0x11B1,2},
+	{L"NtUserGetThreadDesktop", 0x11B2,2},
+	{L"NtUserGetThreadState", 0x11B3,1},
+	{L"NtUserGetTitleBarInfo", 0x11B4,2},
+	{L"NtUserGetUpdateRect", 0x11B5,3},
+	{L"NtUserGetUpdateRgn", 0x11B6,3},
+	{L"NtUserGetWindowDC", 0x11B7,1},
+	{L"NtUserGetWindowPlacement", 0x11B8,2},
+	{L"NtUserGetWOWClass", 0x11B9,2},
+	{L"NtUserHardErrorControl", 0x11BA,3},
+	{L"NtUserHideCaret", 0x11BB,1},
+	{L"NtUserHiliteMenuItem", 0x11BC,4},
+	{L"NtUserImpersonateDdeClientWindow", 0x11BD,2},
+	{L"NtUserInitialize", 0x11BE,3},
+	{L"NtUserInitializeClientPfnArrays", 0x11BF,4},
+	{L"NtUserInitTask", 0x11C0,12},
+	{L"NtUserInternalGetWindowText", 0x11C1,3},
+	{L"NtUserInvalidateRect", 0x11C2,3},
+	{L"NtUserInvalidateRgn", 0x11C3,3},
+	{L"NtUserIsClipboardFormatAvailable", 0x11C4,1},
+	{L"NtUserKillTimer", 0x11C5,2},
+	{L"NtUserLoadKeyboardLayoutEx", 0x11C6,7},
+	{L"NtUserLockWindowStation", 0x11C7,1},
+	{L"NtUserLockWindowUpdate", 0x11C8,1},
+	{L"NtUserLockWorkStation", 0x11C9,0},
+	{L"NtUserMapVirtualKeyEx", 0x11CA,4},
+	{L"NtUserMenuItemFromPoint", 0x11CB,4},
+	{L"NtUserMessageCall", 0x11CC,7},
+	{L"NtUserMinMaximize", 0x11CD,3},
+	{L"NtUserMNDragLeave", 0x11CE,0},
+	{L"NtUserMNDragOver", 0x11CF,2},
+	{L"NtUserModifyUserStartupInfoFlags", 0x11D0,2},
+	{L"NtUserMoveWindow", 0x11D1,6},
+	{L"NtUserNotifyIMEStatus", 0x11D2,3},
+	{L"NtUserNotifyProcessCreate", 0x11D3,4},
+	{L"NtUserNotifyWinEvent", 0x11D4,4},
+	{L"NtUserOpenClipboard", 0x11D5,2},
+	{L"NtUserOpenDesktop", 0x11D6,3},
+	{L"NtUserOpenInputDesktop", 0x11D7,3},
+	{L"NtUserOpenWindowStation", 0x11D8,2},
+	{L"NtUserPaintDesktop", 0x11D9,1},
+	{L"NtUserPeekMessage", 0x11DA,5},
+	{L"NtUserPostMessage", 0x11DB,4},
+	{L"NtUserPostThreadMessage", 0x11DC,4},
+	{L"NtUserPrintWindow", 0x11DD,3},
+	{L"NtUserProcessConnect", 0x11DE,3},
+	{L"NtUserQueryInformationThread", 0x11DF,5},
+	{L"NtUserQueryInputContext", 0x11E0,2},
+	{L"NtUserQuerySendMessage", 0x11E1,1},
+	{L"NtUserQueryUserCounters", 0x11E2,5},
+	{L"NtUserQueryWindow", 0x11E3,2},
+	{L"NtUserRealChildWindowFromPoint", 0x11E4,3},
+	{L"NtUserRealInternalGetMessage", 0x11E5,6},
+	{L"NtUserRealWaitMessageEx", 0x11E6,2},
+	{L"NtUserRedrawWindow", 0x11E7,4},
+	{L"NtUserRegisterClassExWOW", 0x11E8,7},
+	{L"NtUserRegisterUserApiHook", 0x11E9,2},
+	{L"NtUserRegisterHotKey", 0x11EA,4},
+	{L"NtUserRegisterRawInputDevices", 0x11EB,3},
+	{L"NtUserRegisterTasklist", 0x11EC,1},
+	{L"NtUserRegisterWindowMessage", 0x11ED,1},
+	{L"NtUserRemoveMenu", 0x11EE,3},
+	{L"NtUserRemoveProp", 0x11EF,2},
+	{L"NtUserResolveDesktop", 0x11F0,4},
+	{L"NtUserResolveDesktopForWOW", 0x11F1,1},
+	{L"NtUserSBGetParms", 0x11F2,4},
+	{L"NtUserScrollDC", 0x11F3,7},
+	{L"NtUserScrollWindowEx", 0x11F4,8},
+	{L"NtUserSelectPalette", 0x11F5,3},
+	{L"NtUserSendInput", 0x11F6,3},
+	{L"NtUserSetActiveWindow", 0x11F7,1},
+	{L"NtUserSetAppImeLevel", 0x11F8,2},
+	{L"NtUserSetCapture", 0x11F9,1},
+	{L"NtUserSetClassLong", 0x11FA,4},
+	{L"NtUserSetClassWord", 0x11FB,3},
+	{L"NtUserSetClipboardData", 0x11FC,3},
+	{L"NtUserSetClipboardViewer", 0x11FD,1},
+	{L"NtUserSetConsoleReserveKeys", 0x11FE,2},
+	{L"NtUserSetCursor", 0x11FF,1},
+	{L"NtUserSetCursorContents", 0x1200,2},
+	{L"NtUserSetCursorIconData", 0x1201,4},
+	{L"NtUserSetDbgTag", 0x1202,2},
+	{L"NtUserSetFocus", 0x1203,1},
+	{L"NtUserSetImeHotKey", 0x1204,5},
+	{L"NtUserSetImeInfoEx", 0x1205,1},
+	{L"NtUserSetImeOwnerWindow", 0x1206,2},
+	{L"NtUserSetInformationProcess", 0x1207,4},
+	{L"NtUserSetInformationThread", 0x1208,4},
+	{L"NtUserSetInternalWindowPos", 0x1209,4},
+	{L"NtUserSetKeyboardState", 0x120A,1},
+	{L"NtUserSetLogonNotifyWindow", 0x120B,1},
+	{L"NtUserSetMenu", 0x120C,3},
+	{L"NtUserSetMenuContextHelpId", 0x120D,2},
+	{L"NtUserSetMenuDefaultItem", 0x120E,3},
+	{L"NtUserSetMenuFlagRtoL", 0x120F,1},
+	{L"NtUserSetObjectInformation", 0x1210,4},
+	{L"NtUserSetParent", 0x1211,2},
+	{L"NtUserSetProcessWindowStation", 0x1212,1},
+	{L"NtUserSetProp", 0x1213,3},
+	{L"NtUserSetRipFlags", 0x1214,2},
+	{L"NtUserSetScrollInfo", 0x1215,4},
+	{L"NtUserSetShellWindowEx", 0x1216,2},
+	{L"NtUserSetSysColors", 0x1217,4},
+	{L"NtUserSetSystemCursor", 0x1218,2},
+	{L"NtUserSetSystemMenu", 0x1219,2},
+	{L"NtUserSetSystemTimer", 0x121A,4},
+	{L"NtUserSetThreadDesktop", 0x121B,1},
+	{L"NtUserSetThreadLayoutHandles", 0x121C,2},
+	{L"NtUserSetThreadState", 0x121D,2},
+	{L"NtUserSetTimer", 0x121E,4},
+	{L"NtUserSetWindowFNID", 0x121F,2},
+	{L"NtUserSetWindowLong", 0x1220,4},
+	{L"NtUserSetWindowPlacement", 0x1221,2},
+	{L"NtUserSetWindowPos", 0x1222,7},
+	{L"NtUserSetWindowRgn", 0x1223,3},
+	{L"NtUserSetWindowsHookAW", 0x1224,3},
+	{L"NtUserSetWindowsHookEx", 0x1225,6},
+	{L"NtUserSetWindowStationUser", 0x1226,4},
+	{L"NtUserSetWindowWord", 0x1227,3},
+	{L"NtUserSetWinEventHook", 0x1228,8},
+	{L"NtUserShowCaret", 0x1229,1},
+	{L"NtUserShowScrollBar", 0x122A,3},
+	{L"NtUserShowWindow", 0x122B,2},
+	{L"NtUserShowWindowAsync", 0x122C,2},
+	{L"NtUserSoundSentry", 0x122D,0},
+	{L"NtUserSwitchDesktop", 0x122E,1},
+	{L"NtUserSystemParametersInfo", 0x122F,4},
+	{L"NtUserTestForInteractiveUser", 0x1230,1},
+	{L"NtUserThunkedMenuInfo", 0x1231,2},
+	{L"NtUserThunkedMenuItemInfo", 0x1232,6},
+	{L"NtUserToUnicodeEx", 0x1233,7},
+	{L"NtUserTrackMouseEvent", 0x1234,1},
+	{L"NtUserTrackPopupMenuEx", 0x1235,6},
+	{L"NtUserCalcMenuBar", 0x1236,5},
+	{L"NtUserPaintMenuBar", 0x1237,6},
+	{L"NtUserTranslateAccelerator", 0x1238,3},
+	{L"NtUserTranslateMessage", 0x1239,2},
+	{L"NtUserUnhookWindowsHookEx", 0x123A,1},
+	{L"NtUserUnhookWinEvent", 0x123B,1},
+	{L"NtUserUnloadKeyboardLayout", 0x123C,1},
+	{L"NtUserUnlockWindowStation", 0x123D,1},
+	{L"NtUserUnregisterClass", 0x123E,3},
+	{L"NtUserUnregisterUserApiHook", 0x123F,0},
+	{L"NtUserUnregisterHotKey", 0x1240,2},
+	{L"NtUserUpdateInputContext", 0x1241,3},
+	{L"NtUserUpdateInstance", 0x1242,3},
+	{L"NtUserUpdateLayeredWindow", 0x1243,9},
+	{L"NtUserGetLayeredWindowAttributes", 0x1244,4},
+	{L"NtUserSetLayeredWindowAttributes", 0x1245,4},
+	{L"NtUserUpdatePerUserSystemParameters", 0x1246,2},
+	{L"NtUserUserHandleGrantAccess", 0x1247,3},
+	{L"NtUserValidateHandleSecure", 0x1248,1},
+	{L"NtUserValidateRect", 0x1249,2},
+	{L"Nt_Unknown", 0x124a, 3},
+	{L"NtUserVkKeyScanEx", 0x124b,3},
+	{L"NtUserWaitForInputIdle", 0x124c,3},
+	{L"NtUserWaitForMsgAndEvent", 0x124d,1},
+	{L"NtUserWaitMessage", 0x124e,0},
+	{L"NtUserWin32PoolAllocationStats", 0x124f,6},
+	{L"NtUserWindowFromPoint", 0x1250,2},
+	{L"NtUserYieldTask", 0x1251,0},
+	{L"NtUserRemoteConnect", 0x1252,3},
+	{L"NtUserRemoteRedrawRectangle", 0x1253,4},
+	{L"NtUserRemoteRedrawScreen", 0x1254,0},
+	{L"NtUserRemoteStopScreenUpdates", 0x1255,0},
+	{L"NtUserCtxDisplayIOCtl", 0x1256,3},
+	{L"NtGdiEngAssociateSurface", 0x1257,3},
+	{L"NtGdiEngCreateBitmap", 0x1258,6},
+	{L"NtGdiEngCreateDeviceSurface", 0x1259,4},
+	{L"NtGdiEngCreateDeviceBitmap", 0x125a,4},
+	{L"NtGdiEngCreatePalette", 0x125b,6},
+	{L"NtGdiEngComputeGlyphSet", 0x125c,3},
+	{L"NtGdiEngCopyBits", 0x125d,6},
+	{L"NtGdiEngDeletePalette", 0x125e,1},
+	{L"NtGdiEngDeleteSurface", 0x125f,1},
+	{L"NtGdiEngEraseSurface", 0x1260,3},
+	{L"NtGdiEngUnlockSurface", 0x1261,1},
+	{L"NtGdiEngLockSurface", 0x1262,1},
+	{L"NtGdiEngBitBlt", 0x1263,11},
+	{L"NtGdiEngStretchBlt", 0x1264,11},
+	{L"NtGdiEngPlgBlt", 0x1265,11},
+	{L"NtGdiEngMarkBandingSurface", 0x1266,1},
+	{L"NtGdiEngStrokePath", 0x1267,8},
+	{L"NtGdiEngFillPath", 0x1268,7},
+	{L"NtGdiEngStrokeAndFillPath", 0x1269,10},
+	{L"NtGdiEngPaint", 0x126a,5},
+	{L"NtGdiEngLineTo", 0x126b,9},
+	{L"NtGdiEngAlphaBlend", 0x126c,7},
+	{L"NtGdiEngGradientFill", 0x126d,10},
+	{L"NtGdiEngTransparentBlt", 0x126e,8},
+	{L"NtGdiEngTextOut", 0x126f,10},
+	{L"NtGdiEngStretchBltROP", 0x1270,13},
+	{L"NtGdiXLATEOBJ_cGetPalette", 0x1271,4},
+	{L"NtGdiXLATEOBJ_iXlate", 0x1272,2},
+	{L"NtGdiXLATEOBJ_hGetColorTransform", 0x1273,1},
+	{L"NtGdiCLIPOBJ_bEnum", 0x1274,3},
+	{L"NtGdiCLIPOBJ_cEnumStart", 0x1275,5},
+	{L"NtGdiCLIPOBJ_ppoGetPath", 0x1276,1},
+	{L"NtGdiEngDeletePath", 0x1277,1},
+	{L"NtGdiEngCreateClip", 0x1278,0},
+	{L"NtGdiEngDeleteClip", 0x1279,1},
+	{L"NtGdiBRUSHOBJ_ulGetBrushColor", 0x127a,1},
+	{L"NtGdiBRUSHOBJ_pvAllocRbrush", 0x127b,2},
+	{L"NtGdiBRUSHOBJ_pvGetRbrush", 0x127c,1},
+	{L"NtGdiBRUSHOBJ_hGetColorTransform", 0x127d,1},
+	{L"NtGdiXFORMOBJ_bApplyXform", 0x127e,5},
+	{L"NtGdiXFORMOBJ_iGetXform", 0x127f,2},
+	{L"NtGdiFONTOBJ_vGetInfo", 0x1280,3},
+	{L"NtGdiFONTOBJ_pxoGetXform", 0x1281,1},
+	{L"NtGdiFONTOBJ_cGetGlyphs", 0x1282,5},
+	{L"NtGdiFONTOBJ_pifi", 0x1283,1},
+	{L"NtGdiFONTOBJ_pfdg", 0x1284,1},
+	{L"NtGdiFONTOBJ_pQueryGlyphAttrs", 0x1285,2},
+	{L"NtGdiFONTOBJ_pvTrueTypeFontFile", 0x1286,2},
+	{L"NtGdiFONTOBJ_cGetAllGlyphHandles", 0x1287,2},
+	{L"NtGdiSTROBJ_bEnum", 0x1288,3},
+	{L"NtGdiSTROBJ_bEnumPositionsOnly", 0x1289,3},
+	{L"NtGdiSTROBJ_bGetAdvanceWidths", 0x128a,4},
+	{L"NtGdiSTROBJ_vEnumStart", 0x128b,1},
+	{L"NtGdiSTROBJ_dwGetCodePage", 0x128c,1},
+	{L"NtGdiPATHOBJ_vGetBounds", 0x128d,2},
+	{L"NtGdiPATHOBJ_bEnum", 0x128e,2},
+	{L"NtGdiPATHOBJ_vEnumStart", 0x128f,1},
+	{L"NtGdiPATHOBJ_vEnumStartClipLines", 0x1290,4},
+	{L"NtGdiPATHOBJ_bEnumClipLines", 0x1291,3},
+	{L"NtGdiGetDhpdev", 0x1292,1},
+	{L"NtGdiEngCheckAbort", 0x1293,1},
+	{L"NtGdiHT_Get8BPPFormatPalette", 0x1294,4},
+	{L"NtGdiHT_Get8BPPMaskPalette", 0x1295,6},
+	{L"NtGdiUpdateTransform", 0x1296,1},
+	{L"NtGdiSetPUMPDOBJ", 0x1297,4},
+	{L"NtGdiBRUSHOBJ_DeleteRbrush", 0x1298,2},
+	{L"NtGdiUMPDEngFreeUserMem", 0x1299,1},
+	{L"NtGdiDrawStream", 0x129a,3},
+	{NULL, 0, 0}
+};
+

Modified: trunk/rostests/directory.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/directory.rbuild?rev=28106&r1=28105&r2=28106&view=diff
==============================================================================
--- trunk/rostests/directory.rbuild (original)
+++ trunk/rostests/directory.rbuild Fri Aug  3 01:42:37 2007
@@ -16,3 +16,6 @@
 <directory name="winetests">
 	<xi:include href="winetests/directory.rbuild" />
 </directory>
+<directory name="apitests">
+	<xi:include href="apitests/directory.rbuild" />
+</directory>




More information about the Ros-diffs mailing list