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