include_directories(include)
-add_library(apitest apitest.c)
-add_dependencies(apitest xdk)
-
add_subdirectory(advapi32)
add_subdirectory(atl)
add_subdirectory(browseui)
add_subdirectory(crt)
add_subdirectory(dciman32)
add_subdirectory(gdi32)
+add_subdirectory(gditools)
add_subdirectory(iphlpapi)
if(NOT ARCH STREQUAL "amd64")
add_subdirectory(kernel32)
add_subdirectory(user32)
add_subdirectory(user32_dynamic)
if(NOT ARCH STREQUAL "amd64")
- add_subdirectory(w32kdll)
- add_subdirectory(w32knapi)
+ add_subdirectory(win32kdll)
+ add_subdirectory(win32nt)
endif()
add_subdirectory(winhttp)
add_subdirectory(wininet)
+++ /dev/null
-#include "apitest.h"
-
-const char szFileHeader1[] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
- "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n"
- "<head>\n"
- "<meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\n";
-const char szFileHeader2[] = "<style type=\"text/css\">\n"
- "body {font-family: sans-serif;}\n"
- "table {width: 100%;}\n"
- "th {text-align: left;}\n"
- "td.red {color: red;}\n"
- "td.green {color: green;}\n"
- "</style>\n"
- "</head>\n"
- "<body>\n";
-const char szTableHeader[] = "<table><tr><th>Function</th><th>Status</th><th>Tests (all/passed/failed)</th><th>Regressions</th></tr>";
-const char szFileFooter[] = "</table></body></html>";
-
-void
-OutputUsage(LPWSTR pszName)
-{
- printf("\nUsage:\n\n");
- printf("%ls.exe <TestName> - Perform individual test\n", pszName);
- printf("%ls.exe all - Perform all tests\n", pszName);
- printf("%ls.exe tests - List the valid test names\n", pszName);
- printf("%ls.exe status - Create api status file\n", pszName);
- printf("%ls.exe -r ... - Perform regression testing\n", pszName);
- printf("\n");
-}
-
-BOOL
-WriteFileHeader(HANDLE hFile, LPDWORD lpdwBytesWritten, LPWSTR pszModule)
-{
- char szHeader[100];
-
- WriteFile(hFile, szFileHeader1, strlen(szFileHeader1), lpdwBytesWritten, NULL);
- sprintf(szHeader, "<title>%ls Test results</title>", pszModule);
- WriteFile(hFile, szHeader, strlen(szHeader), lpdwBytesWritten, NULL);
- WriteFile(hFile, szFileHeader2, strlen(szFileHeader2), lpdwBytesWritten, NULL);
-
- sprintf(szHeader, "<h1>Test results for %ls</h1>", pszModule);
- WriteFile(hFile, szHeader, strlen(szHeader), lpdwBytesWritten, NULL);
-
- WriteFile(hFile, szTableHeader, strlen(szTableHeader), lpdwBytesWritten, NULL);
-
- return TRUE;
-}
-
-BOOL
-WriteRow(HANDLE hFile, LPDWORD lpdwBytesWritten, LPWSTR pszFunction, PTESTINFO pti)
-{
- char szLine[500];
-
- sprintf(szLine, "<tr><td>%ls</td>", pszFunction);
-
- switch(pti->nApiStatus)
- {
- case APISTATUS_NOT_FOUND:
- strcat(szLine, "<td class=\"red\">not found</td>");
- break;
- case APISTATUS_UNIMPLEMENTED:
- strcat(szLine, "<td class=\"red\">unimplemented</td>");
- break;
- case APISTATUS_ASSERTION_FAILED:
- strcat(szLine, "<td class=\"red\">assertion failed</td>");
- break;
- case APISTATUS_REGRESSION:
- strcat(szLine, "<td class=\"red\">Regression!</td>");
- break;
- case APISTATUS_NORMAL:
- strcat(szLine, "<td class=\"green\">Implemented</td>");
- break;
- }
-
- sprintf(szLine + strlen(szLine), "<td>%d / %d / %d</td><td>%d</td></tr>\n",
- pti->passed+pti->failed, pti->passed, pti->failed, pti->rfailed);
-
- WriteFile(hFile, szLine, strlen(szLine), lpdwBytesWritten, NULL);
-
- return TRUE;
-}
-
-static CHAR
-GetDisplayChar(CHAR c)
-{
- if (c < 32) return '.';
- return c;
-}
-
-VOID
-DumpMem(PVOID pData, ULONG cbSize, ULONG nWidth)
-{
- ULONG cLines = (cbSize + nWidth - 1) / nWidth;
- ULONG cbLastLine = cbSize % nWidth;
- INT i,j;
-
- for (i = 0; i <= cLines; i++)
- {
- printf("%08lx: ", i*nWidth);
- for (j = 0; j < (i == cLines? cbLastLine : nWidth); j++)
- {
- printf("%02x ", ((BYTE*)pData)[i*nWidth + j]);
- }
- printf(" ");
- for (j = 0; j < (i == cLines? cbLastLine : nWidth); j++)
- {
- printf("%c", GetDisplayChar(((CHAR*)pData)[i*nWidth + j]));
- }
- printf("\n");
- }
-}
-
-int
-TestMain(LPWSTR pszName, LPWSTR pszModule)
-{
- INT argc, i, j;
- LPWSTR *argv;
- TESTINFO ti;
- INT opassed, ofailed, orfailed;
- BOOL bAll, bStatus;
- HANDLE hFile = NULL;
- DWORD dwBytesWritten;
-
- ti.bRegress = FALSE;
- bAll = FALSE;
- bStatus = FALSE;
- opassed = ofailed = orfailed = 0;
-
- argv = CommandLineToArgvW(GetCommandLineW(), &argc);
-
- if (argc < 2)
- {
- OutputUsage(pszName);
- 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;
- }
- else if (_wcsicmp(argv[i], L"tests") == 0)
- {
- /* List all the tests and exit */
- printf("Valid test names:\n\n");
-
- for (i = 0; i < NumTests(); i++)
- printf("%ls\n", TestList[i].Test);
-
- return 0;
- }
- }
-
- if (bStatus)
- {
- WCHAR szOutputFile[MAX_PATH];
-
- ti.bRegress = TRUE;
- wcscpy(szOutputFile, pszName);
- wcscat(szOutputFile, L".html");
- hFile = CreateFileW(szOutputFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-
- if (hFile == INVALID_HANDLE_VALUE)
- {
- printf("Could not create output file.\n");
- return 0;
- }
-
- WriteFileHeader(hFile, &dwBytesWritten, pszModule);
- }
-
- 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);
- ti.nApiStatus = APISTATUS_NOT_FOUND;
- }
- else
- {
- printf("Executing test: %ls\n", TestList[i].Test);
- ti.nApiStatus = 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);
- }
- if (bStatus)
- {
- if (ti.rfailed > 0)
- ti.nApiStatus = APISTATUS_REGRESSION;
- WriteRow(hFile, &dwBytesWritten, TestList[i].Test, &ti);
- }
- 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 (bStatus)
- {
- WriteFile(hFile, szFileFooter, strlen(szFileFooter), &dwBytesWritten, NULL);
- CloseHandle(hFile);
- }
-
- if (ti.bRegress)
- return ti.rfailed;
-
- return ti.failed;
-}
+++ /dev/null
-#ifndef _APITEST_H
-#define _APITEST_H
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <windef.h>
-#include <winbase.h>
-#include <winreg.h>
-#include <shellapi.h>
-
-#define APISTATUS_NORMAL 0
-#define APISTATUS_NOT_FOUND 1
-#define APISTATUS_UNIMPLEMENTED 2
-#define APISTATUS_ASSERTION_FAILED 3
-#define APISTATUS_REGRESSION 4
-
-/* type definitions */
-
-typedef struct tagTESTINFO
-{
- INT passed;
- INT failed;
- INT rfailed;
- BOOL bRegress;
- INT nApiStatus;
-} TESTINFO, *PTESTINFO;
-
-typedef INT (*TESTPROC)(PTESTINFO);
-
-typedef struct tagTEST
-{
- WCHAR* Test;
- TESTPROC Proc;
-} TESTENTRY, *PTESTENTRY;
-
-
-/* macros */
-
-#define TEST(x) \
- if (pti->bRegress) \
- { \
- if (x)\
- {\
- (pti->passed)++;\
- printf("%s:%d: non-rtest succeeded (%s)\n", __FILE__, __LINE__, #x);\
- } else {\
- (pti->failed)++;\
- } \
- } \
- else \
- { \
- if (x)\
- {\
- (pti->passed)++;\
- } else {\
- (pti->failed)++;\
- printf("%s:%d: test failed (%s)\n", __FILE__, __LINE__, #x);\
- } \
- }
-
-#define TESTX(x, format, ...) \
- if (pti->bRegress) \
- { \
- if (x)\
- {\
- (pti->passed)++;\
- printf("%s:%d: non-rtest succeeded (%s)\n", __FILE__, __LINE__, #x);\
- } else {\
- (pti->failed)++;\
- } \
- } \
- else \
- { \
- if (x)\
- {\
- (pti->passed)++;\
- } else {\
- (pti->failed)++;\
- printf("%s:%d: test failed (%s) ", __FILE__, __LINE__, #x);\
- printf(format, __VA_ARGS__); \
- } \
- }
-
-#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);\
- } \
- }
-
-#undef ASSERT
-#define ASSERT(x) \
- if (!(x)) \
- { \
- printf("Assertion failed in %s:%d (%s)\n", __FILE__, __LINE__, #x);\
- return APISTATUS_ASSERTION_FAILED; \
- }
-
-int TestMain(LPWSTR pszExe, LPWSTR pszModule);
-extern TESTENTRY TestList[];
-INT NumTests(void);
-BOOL IsFunctionPresent(LPWSTR lpszFunction);
-VOID DumpMem(PVOID pData, ULONG cbSize, ULONG nWidth);
-
-#endif /* _APITEST_H */
+++ /dev/null
-
-add_subdirectory(w32kdll_ros)
-add_subdirectory(w32kdll_xpsp2)
-#add_subdirectory(w32kdll_2ksp4)
-add_subdirectory(w32kdll_2k3sp2)
-#add_subdirectory(w32kdll_vista)
+++ /dev/null
-
-spec2def(w32kdll_2k3sp2.dll w32kdll_2k3sp2.spec ADD_IMPORTLIB)
-add_asm_files(w32kdll_2k3sp2_asm sys-stubs.S)
-
-add_library(w32kdll_2k3sp2 SHARED
- main.c
- ${w32kdll_2k3sp2_asm}
- ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_2k3sp2.def)
-
-set_module_type(w32kdll_2k3sp2 module)
-add_dependencies(w32kdll_2k3sp2 psdk)
+++ /dev/null
-
-spec2def(w32kdll_2ksp4.dll w32kdll_2ksp4.spec)
-add_asm_files(w32kdll_2ksp4_asm w32kdll_2ksp4.S)
-
-add_library(w32kdll_2ksp4 SHARED
- main.c
- ${w32kdll_2ksp4_asm}
- ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_2ksp4.def)
-
-set_module_type(w32kdll_2ksp4 module)
-add_dependencies(w32kdll_2ksp4 psdk)
+++ /dev/null
-#
-# win32k systemcalls taken from Windows 2000 SP4 x86
-#
-NtGdiAbortDoc 1
-NtGdiAbortPath 1
-NtGdiAddFontResourceW 6
-NtGdiAddRemoteFontToDC 4
-NtGdiAddFontMemResourceEx 5
-NtGdiRemoveMergeFont 2
-NtGdiAddRemoteMMInstanceToDC 3
-NtGdiAlphaBlend 12
-NtGdiAngleArc 6
-NtGdiAnyLinkedFonts 0
-NtGdiFontIsLinked 1
-NtGdiArcInternal 10
-NtGdiBeginPath 1
-NtGdiBitBlt 11
-NtGdiCancelDC 1
-NtGdiCheckBitmapBits 8
-NtGdiCloseFigure 1
-NtGdiColorCorrectPalette 6
-NtGdiCombineRgn 4
-NtGdiCombineTransform 3
-NtGdiComputeXformCoefficients 1
-NtGdiConsoleTextOut 4
-NtGdiConvertMetafileRect 2
-NtGdiCreateBitmap 5
-NtGdiCreateClientObj 1
-NtGdiCreateColorSpace 1
-NtGdiCreateColorTransform 8
-NtGdiCreateCompatibleBitmap 3
-NtGdiCreateCompatibleDC 1
-NtGdiCreateDIBBrush 6
-NtGdiCreateDIBitmapInternal 11
-NtGdiCreateDIBSection 9
-NtGdiCreateEllipticRgn 4
-NtGdiCreateHalftonePalette 1
-NtGdiCreateHatchBrushInternal 3
-NtGdiCreateMetafileDC 1
-NtGdiCreatePaletteInternal 2
-NtGdiCreatePatternBrushInternal 3
-NtGdiCreatePen 4
-NtGdiCreateRectRgn 4
-NtGdiCreateRoundRectRgn 6
-NtGdiCreateServerMetaFile 6
-NtGdiCreateSolidBrush 2
-NtGdiD3dContextCreate 4
-NtGdiD3dContextDestroy 1
-NtGdiD3dContextDestroyAll 1
-NtGdiD3dValidateTextureStageState 1
-NtGdiD3dDrawPrimitives2 7
-NtGdiDdGetDriverState 1
-NtGdiDdAddAttachedSurface 3
-NtGdiDdAlphaBlt 3
-NtGdiDdAttachSurface 2
-NtGdiDdBeginMoCompFrame 2
-NtGdiDdBlt 3
-NtGdiDdCanCreateSurface 2
-NtGdiDdCanCreateD3DBuffer 2
-NtGdiDdColorControl 2
-NtGdiDdCreateDirectDrawObject 1
-NtGdiDdCreateSurface 8
-NtGdiDdCreateD3DBuffer 8
-NtGdiDdCreateMoComp 2
-NtGdiDdCreateSurfaceObject 6
-NtGdiDdDeleteDirectDrawObject 1
-NtGdiDdDeleteSurfaceObject 1
-NtGdiDdDestroyMoComp 2
-NtGdiDdDestroySurface 2
-NtGdiDdDestroyD3DBuffer 1
-NtGdiDdEndMoCompFrame 2
-NtGdiDdFlip 5
-NtGdiDdFlipToGDISurface 2
-NtGdiDdGetAvailDriverMemory 2
-NtGdiDdGetBltStatus 2
-NtGdiDdGetDC 2
-NtGdiDdGetDriverInfo 2
-NtGdiDdGetDxHandle 3
-NtGdiDdGetFlipStatus 2
-NtGdiDdGetInternalMoCompInfo 2
-NtGdiDdGetMoCompBuffInfo 2
-NtGdiDdGetMoCompGuids 2
-NtGdiDdGetMoCompFormats 2
-NtGdiDdGetScanLine 2
-NtGdiDdLock 3
-NtGdiDdLockD3D 2
-NtGdiDdQueryDirectDrawObject 11
-NtGdiDdQueryMoCompStatus 2
-NtGdiDdReenableDirectDrawObject 2
-NtGdiDdReleaseDC 1
-NtGdiDdRenderMoComp 2
-NtGdiDdResetVisrgn 2
-NtGdiDdSetColorKey 2
-NtGdiDdSetExclusiveMode 2
-NtGdiDdSetGammaRamp 3
-NtGdiDdCreateSurfaceEx 3
-NtGdiDdSetOverlayPosition 3
-NtGdiDdUnattachSurface 2
-NtGdiDdUnlock 2
-NtGdiDdUnlockD3D 2
-NtGdiDdUpdateOverlay 3
-NtGdiDdWaitForVerticalBlank 2
-NtGdiDvpCanCreateVideoPort 2
-NtGdiDvpColorControl 2
-NtGdiDvpCreateVideoPort 2
-NtGdiDvpDestroyVideoPort 2
-NtGdiDvpFlipVideoPort 4
-NtGdiDvpGetVideoPortBandwidth 2
-NtGdiDvpGetVideoPortField 2
-NtGdiDvpGetVideoPortFlipStatus 2
-NtGdiDvpGetVideoPortInputFormats 2
-NtGdiDvpGetVideoPortLine 2
-NtGdiDvpGetVideoPortOutputFormats 2
-NtGdiDvpGetVideoPortConnectInfo 2
-NtGdiDvpGetVideoSignalStatus 2
-NtGdiDvpUpdateVideoPort 4
-NtGdiDvpWaitForVideoPortSync 2
-NtGdiDeleteClientObj 1
-NtGdiDeleteColorSpace 1
-NtGdiDeleteColorTransform 2
-NtGdiDeleteObjectApp 1
-NtGdiDescribePixelFormat 4
-NtGdiGetPerBandInfo 2
-NtGdiDoBanding 4
-NtGdiDoPalette 6
-NtGdiDrawEscape 4
-NtGdiEllipse 5
-NtGdiEnableEudc 1
-NtGdiEndDoc 1
-NtGdiEndPage 1
-NtGdiEndPath 1
-NtGdiEnumFontChunk 5
-NtGdiEnumFontClose 1
-NtGdiEnumFontOpen 7
-NtGdiEnumObjects 4
-NtGdiEqualRgn 2
-NtGdiEudcEnumFaceNameLinkW 4
-NtGdiEudcLoadUnloadLink 7
-NtGdiExcludeClipRect 5
-NtGdiExtCreatePen 11
-NtGdiExtCreateRegion 3
-NtGdiExtEscape 8
-NtGdiExtFloodFill 5
-NtGdiExtGetObjectW 3
-NtGdiExtSelectClipRgn 3
-NtGdiExtTextOutW 9
-NtGdiFillPath 1
-NtGdiFillRgn 3
-NtGdiFlattenPath 1
-NtGdiFlushUserBatch 0
-NtGdiFlush 0
-NtGdiForceUFIMapping 2
-NtGdiFrameRgn 5
-NtGdiFullscreenControl 5
-NtGdiGetAndSetDCDword 4
-NtGdiGetAppClipBox 2
-NtGdiGetBitmapBits 3
-NtGdiGetBitmapDimension 2
-NtGdiGetBoundsRect 3
-NtGdiGetCharABCWidthsW 6
-NtGdiGetCharacterPlacementW 6
-NtGdiGetCharSet 1
-NtGdiGetCharWidthW 6
-NtGdiGetCharWidthInfo 2
-NtGdiGetColorAdjustment 2
-NtGdiGetColorSpaceforBitmap 1
-NtGdiGetDCDword 3
-NtGdiGetDCforBitmap 1
-NtGdiGetDCObject 2
-NtGdiGetDCPoint 3
-NtGdiGetDeviceCaps 2
-NtGdiGetDeviceGammaRamp 2
-NtGdiGetDeviceCapsAll 2
-NtGdiGetDIBitsInternal 9
-NtGdiGetETM 2
-NtGdiGetEudcTimeStampEx 3
-NtGdiGetFontData 5
-NtGdiGetFontResourceInfoInternalW 7
-NtGdiGetGlyphIndicesW 5
-NtGdiGetGlyphIndicesWInternal 6
-NtGdiGetGlyphOutline 8
-NtGdiGetKerningPairs 3
-NtGdiGetLinkedUFIs 3
-NtGdiGetMiterLimit 2
-NtGdiGetMonitorID 3
-NtGdiGetNearestColor 2
-NtGdiGetNearestPaletteIndex 2
-NtGdiGetObjectBitmapHandle 2
-NtGdiGetOutlineTextMetricsInternalW 4
-NtGdiGetPath 4
-NtGdiGetPixel 3
-NtGdiGetRandomRgn 3
-NtGdiGetRasterizerCaps 2
-NtGdiGetRealizationInfo 2
-NtGdiGetRegionData 3
-NtGdiGetRgnBox 2
-NtGdiGetServerMetaFileBits 7
-NtGdiGetSpoolMessage 4
-NtGdiGetStats 5
-NtGdiGetStockObject 1
-NtGdiGetStringBitmapW 5
-NtGdiGetSystemPaletteUse 1
-NtGdiGetTextCharsetInfo 3
-NtGdiGetTextExtent 5
-NtGdiGetTextExtentExW 8
-NtGdiGetTextFaceW 4
-NtGdiGetTextMetricsW 3
-NtGdiGetTransform 3
-NtGdiGetUFI 6
-NtGdiGetUFIPathname 10
-NtGdiGetFontUnicodeRanges 2
-NtGdiGetWidthTable 7
-NtGdiGradientFill 6
-NtGdiHfontCreate 5
-NtGdiIcmBrushInfo 8
-NtGdiInit 0
-NtGdiInitSpool 0
-NtGdiIntersectClipRect 5
-NtGdiInvertRgn 2
-NtGdiLineTo 3
-NtGdiMakeFontDir 5
-NtGdiMakeInfoDC 2
-NtGdiMaskBlt 13
-NtGdiModifyWorldTransform 3
-NtGdiMonoBitmap 1
-NtGdiMoveTo 4
-NtGdiOffsetClipRgn 3
-NtGdiOffsetRgn 3
-NtGdiOpenDCW 7
-NtGdiPatBlt 6
-NtGdiPolyPatBlt 5
-NtGdiPathToRegion 1
-NtGdiPlgBlt 11
-NtGdiPolyDraw 4
-NtGdiPolyPolyDraw 5
-NtGdiPolyTextOutW 4
-NtGdiPtInRegion 3
-NtGdiPtVisible 3
-NtGdiQueryFonts 3
-NtGdiQueryFontAssocInfo 1
-NtGdiRectangle 5
-NtGdiRectInRegion 2
-NtGdiRectVisible 2
-NtGdiRemoveFontResourceW 6
-NtGdiRemoveFontMemResourceEx 1
-NtGdiResetDC 5
-NtGdiResizePalette 2
-NtGdiRestoreDC 2
-NtGdiRoundRect 7
-NtGdiSaveDC 1
-NtGdiScaleViewportExtEx 6
-NtGdiScaleWindowExtEx 6
-NtGdiSelectBitmap 2
-NtGdiSelectBrush 2
-NtGdiSelectClipPath 2
-NtGdiSelectFont 2
-NtGdiSelectPen 2
-NtGdiSetBitmapBits 3
-NtGdiSetBitmapDimension 4
-NtGdiSetBoundsRect 3
-NtGdiSetBrushOrg 4
-NtGdiSetColorAdjustment 2
-NtGdiSetColorSpace 2
-NtGdiSetDeviceGammaRamp 2
-NtGdiSetDIBitsToDeviceInternal 16
-NtGdiSetFontEnumeration 1
-NtGdiSetFontXform 3
-NtGdiSetIcmMode 3
-NtGdiSetLinkedUFIs 3
-NtGdiSetMagicColors 3
-NtGdiSetMetaRgn 1
-NtGdiSetMiterLimit 3
-NtGdiGetDeviceWidth 1
-NtGdiMirrorWindowOrg 1
-NtGdiSetLayout 3
-NtGdiSetPixel 4
-NtGdiSetPixelFormat 2
-NtGdiSetRectRgn 5
-NtGdiSetSystemPaletteUse 2
-NtGdiSetTextJustification 3
-NtGdiSetupPublicCFONT 3
-NtGdiSetVirtualResolution 5
-NtGdiSetSizeDevice 3
-NtGdiStartDoc 4
-NtGdiStartPage 1
-NtGdiStretchBlt 12
-NtGdiStretchDIBitsInternal 16
-NtGdiStrokeAndFillPath 1
-NtGdiStrokePath 1
-NtGdiSwapBuffers 1
-NtGdiTransformPoints 5
-NtGdiTransparentBlt 11
-NtGdiUnloadPrinterDriver 2
-NtGdiUnmapMemFont 1
-NtGdiUnrealizeObject 1
-NtGdiUpdateColors 1
-NtGdiWidenPath 1
-NtUserActivateKeyboardLayout 2
-NtUserAlterWindowStyle 3
-NtUserAssociateInputContext 3
-NtUserAttachThreadInput 3
-NtUserBeginPaint 2
-NtUserBitBltSysBmp 8
-NtUserBlockInput 1
-NtUserBuildHimcList 4
-NtUserBuildHwndList 7
-NtUserBuildNameList 4
-NtUserBuildPropList 4
-NtUserCallHwnd 2
-NtUserCallHwndLock 2
-NtUserCallHwndOpt 2
-NtUserCallHwndParam 3
-NtUserCallHwndParamLock 3
-NtUserCallMsgFilter 2
-NtUserCallNextHookEx 4
-NtUserCallNoParam 1
-NtUserCallOneParam 1
-NtUserCallTwoParam 3
-NtUserChangeClipboardChain 2
-NtUserChangeDisplaySettings 5
-NtUserCheckImeHotKey 3
-NtUserCheckMenuItem 3
-NtUserChildWindowFromPointEx 4
-NtUserClipCursor 1
-NtUserCloseClipboard 0
-NtUserCloseDesktop 1
-NtUserCloseWindowStation 1
-NtUserConsoleControl 3
-NtUserConvertMemHandle 2
-NtUserCopyAcceleratorTable 3
-NtUserCountClipboardFormats 1
-NtUserCreateAcceleratorTable 2
-NtUserCreateCaret 4
-NtUserCreateDesktop 5
-NtUserCreateInputContext 1
-NtUserCreateLocalMemHandle 4
-NtUserCreateWindowEx 13
-NtUserCreateWindowStation 6
-NtUserDdeGetQualityOfService 3
-NtUserDdeInitialize 5
-NtUserDdeSetQualityOfService 3
-NtUserDeferWindowPos 8
-NtUserDefSetText 2
-NtUserDeleteMenu 3
-NtUserDestroyAcceleratorTable 1
-NtUserDestroyCursor 2
-NtUserDestroyInputContext 1
-NtUserDestroyMenu 1
-NtUserDestroyWindow 1
-NtUserDisableThreadIme 1
-NtUserDispatchMessage 1
-NtUserDragDetect 3
-NtUserDragObject 5
-NtUserDrawAnimatedRects 4
-NtUserDrawCaption 4
-NtUserDrawCaptionTemp 7
-NtUserDrawIconEx 11
-NtUserDrawMenuBarTemp 5
-NtUserEmptyClipboard 0
-NtUserEnableMenuItem 3
-NtUserEnableScrollBar 3
-NtUserEndDeferWindowPosEx 2
-NtUserEndMenu 0
-NtUserEndPaint 2
-NtUserEnumDisplayDevices 4
-NtUserEnumDisplayMonitors 4
-NtUserEnumDisplaySettings 4
-NtUserEvent 1
-NtUserExcludeUpdateRgn 2
-NtUserFillWindow 4
-NtUserFindExistingCursorIcon 3
-NtUserFindWindowEx 5
-NtUserFlashWindowEx 1
-NtUserGetAltTabInfo 6
-NtUserGetAncestor 2
-NtUserGetAppImeLevel 1
-NtUserGetAsyncKeyState 1
-NtUserGetCaretBlinkTime 0
-NtUserGetCaretPos 1
-NtUserGetClassInfo 5
-NtUserGetClassName 3
-NtUserGetClipboardData 2
-NtUserGetClipboardFormatName 3
-NtUserGetClipboardOwner 0
-NtUserGetClipboardSequenceNumber 0
-NtUserGetClipboardViewer 0
-NtUserGetClipCursor 1
-NtUserGetComboBoxInfo 2
-NtUserGetControlBrush 3
-NtUserGetControlColor 4
-NtUserGetCPD 3
-NtUserGetCursorFrameInfo 4
-NtUserGetCursorInfo 1
-NtUserGetDC 1
-NtUserGetDCEx 3
-NtUserGetDoubleClickTime 0
-NtUserGetForegroundWindow 0
-NtUserGetGuiResources 2
-NtUserGetGUIThreadInfo 2
-NtUserGetIconInfo 6
-NtUserGetIconSize 4
-NtUserGetImeHotKey 4
-NtUserGetImeInfoEx 2
-NtUserGetInternalWindowPos 3
-NtUserGetKeyboardLayoutList 2
-NtUserGetKeyboardLayoutName 1
-NtUserGetKeyboardState 1
-NtUserGetKeyNameText 3
-NtUserGetKeyState 1
-NtUserGetListBoxInfo 1
-NtUserGetMenuBarInfo 4
-NtUserGetMenuIndex 2
-NtUserGetMenuItemRect 4
-NtUserGetMessage 4
-NtUserGetMouseMovePointsEx 5
-NtUserGetObjectInformation 5
-NtUserGetOpenClipboardWindow 0
-NtUserGetPriorityClipboardFormat 2
-NtUserGetProcessWindowStation 0
-NtUserGetScrollBarInfo 3
-NtUserGetSystemMenu 2
-NtUserGetThreadDesktop 2
-NtUserGetThreadState 1
-NtUserGetTitleBarInfo 2
-NtUserGetUpdateRect 3
-NtUserGetUpdateRgn 3
-NtUserGetWindowDC 1
-NtUserGetWindowPlacement 2
-NtUserGetWOWClass 2
-NtUserHardErrorControl 3
-NtUserHideCaret 1
-NtUserHiliteMenuItem 4
-NtUserImpersonateDdeClientWindow 2
-NtUserInitialize 3
-NtUserInitializeClientPfnArrays 4
-NtUserInitTask 11
-NtUserInternalGetWindowText 3
-NtUserInvalidateRect 3
-NtUserInvalidateRgn 3
-NtUserIsClipboardFormatAvailable 1
-NtUserKillTimer 2
-NtUserLoadKeyboardLayoutEx 6
-NtUserLockWindowStation 1
-NtUserLockWindowUpdate 1
-NtUserLockWorkStation 0
-NtUserMapVirtualKeyEx 4
-NtUserMenuItemFromPoint 4
-NtUserMessageCall 7
-NtUserMinMaximize 3
-NtUserMNDragLeave 1
-NtUserMNDragOver 2
-NtUserModifyUserStartupInfoFlags 2
-NtUserMoveWindow 6
-NtUserNotifyIMEStatus 3
-NtUserNotifyProcessCreate 4
-NtUserNotifyWinEvent 4
-NtUserOpenClipboard 2
-NtUserOpenDesktop 3
-NtUserOpenInputDesktop 3
-NtUserOpenWindowStation 2
-NtUserPaintDesktop 1
-NtUserPeekMessage 5
-NtUserPostMessage 4
-NtUserPostThreadMessage 4
-NtUserProcessConnect 3
-NtUserQueryInformationThread 5
-NtUserQueryInputContext 2
-NtUserQuerySendMessage 1
-NtUserQueryUserCounters 5
-NtUserQueryWindow 2
-NtUserRealChildWindowFromPoint 3
-NtUserRedrawWindow 4
-NtUserRegisterClassExWOW 6
-NtUserRegisterHotKey 4
-NtUserRegisterTasklist 1
-NtUserRegisterWindowMessage 1
-NtUserRemoveMenu 3
-NtUserRemoveProp 2
-NtUserResolveDesktop 4
-NtUserResolveDesktopForWOW 1
-NtUserSBGetParms 4
-NtUserScrollDC 7
-NtUserScrollWindowEx 8
-NtUserSelectPalette 3
-NtUserSendInput 3
-NtUserSendMessageCallback 6
-NtUserSendNotifyMessage 4
-NtUserSetActiveWindow 1
-NtUserSetAppImeLevel 2
-NtUserSetCapture 1
-NtUserSetClassLong 4
-NtUserSetClassWord 3
-NtUserSetClipboardData 3
-NtUserSetClipboardViewer 1
-NtUserSetConsoleReserveKeys 2
-NtUserSetCursor 1
-NtUserSetCursorContents 2
-NtUserSetCursorIconData 4
-NtUserSetDbgTag 2
-NtUserSetFocus 1
-NtUserSetImeHotKey 5
-NtUserSetImeInfoEx 1
-NtUserSetImeOwnerWindow 2
-NtUserSetInformationProcess 4
-NtUserSetInformationThread 5
-NtUserSetInternalWindowPos 4
-NtUserSetKeyboardState 1
-NtUserSetLogonNotifyWindow 1
-NtUserSetMenu 3
-NtUserSetMenuContextHelpId 2
-NtUserSetMenuDefaultItem 3
-NtUserSetMenuFlagRtoL 1
-NtUserSetObjectInformation 4
-NtUserSetParent 2
-NtUserSetProcessWindowStation 1
-NtUserSetProp 3
-NtUserSetRipFlags 2
-NtUserSetScrollInfo 4
-NtUserSetShellWindowEx 2
-NtUserSetSysColors 4
-NtUserSetSystemCursor 2
-NtUserSetSystemMenu 2
-NtUserSetSystemTimer 4
-NtUserSetThreadDesktop 1
-NtUserSetThreadLayoutHandles 2
-NtUserSetThreadState 2
-NtUserSetTimer 4
-NtUserSetWindowFNID 2
-NtUserSetWindowLong 4
-NtUserSetWindowPlacement 2
-NtUserSetWindowPos 7
-NtUserSetWindowRgn 3
-NtUserSetWindowsHookAW 3
-NtUserSetWindowsHookEx 6
-NtUserSetWindowStationUser 4
-NtUserSetWindowWord 3
-NtUserSetWinEventHook 8
-NtUserShowCaret 1
-NtUserShowScrollBar 3
-NtUserShowWindow 2
-NtUserShowWindowAsync 2
-NtUserSoundSentry 0
-NtUserSwitchDesktop 1
-NtUserSystemParametersInfo 4
-NtUserTestForInteractiveUser 1
-NtUserThunkedMenuInfo 2
-NtUserThunkedMenuItemInfo 6
-NtUserToUnicodeEx 7
-NtUserTrackMouseEvent 1
-NtUserTrackPopupMenuEx 6
-NtUserTranslateAccelerator 3
-NtUserTranslateMessage 2
-NtUserUnhookWindowsHookEx 1
-NtUserUnhookWinEvent 1
-NtUserUnloadKeyboardLayout 1
-NtUserUnlockWindowStation 1
-NtUserUnregisterClass 3
-NtUserUnregisterHotKey 2
-NtUserUpdateInputContext 3
-NtUserUpdateInstance 3
-NtUserUpdateLayeredWindow 9
-NtUserSetLayeredWindowAttributes 4
-NtUserUpdatePerUserSystemParameters 2
-NtUserUserHandleGrantAccess 3
-NtUserValidateHandleSecure 1
-NtUserValidateRect 2
-NtUserVkKeyScanEx 3
-NtUserWaitForInputIdle 3
-NtUserWaitForMsgAndEvent 1
-NtUserWaitMessage 0
-NtUserWin32PoolAllocationStats 6
-NtUserWindowFromPoint 2
-NtUserYieldTask 0
-NtUserRemoteConnect 3
-NtUserRemoteRedrawRectangle 4
-NtUserRemoteRedrawScreen 0
-NtUserRemoteStopScreenUpdates 0
-NtUserCtxDisplayIOCtl 3
-NtGdiEngAssociateSurface 3
-NtGdiEngCreateBitmap 6
-NtGdiEngCreateDeviceSurface 4
-NtGdiEngCreateDeviceBitmap 4
-NtGdiEngCreatePalette 6
-NtGdiEngComputeGlyphSet 3
-NtGdiEngCopyBits 6
-NtGdiEngDeletePalette 1
-NtGdiEngDeleteSurface 1
-NtGdiEngEraseSurface 3
-NtGdiEngUnlockSurface 1
-NtGdiEngLockSurface 1
-NtGdiEngBitBlt 11
-NtGdiEngStretchBlt 11
-NtGdiEngPlgBlt 11
-NtGdiEngMarkBandingSurface 1
-NtGdiEngStrokePath 8
-NtGdiEngFillPath 7
-NtGdiEngStrokeAndFillPath 10
-NtGdiEngPaint 5
-NtGdiEngLineTo 9
-NtGdiEngAlphaBlend 7
-NtGdiEngGradientFill 10
-NtGdiEngTransparentBlt 8
-NtGdiEngTextOut 10
-NtGdiEngStretchBltROP 13
-NtGdiXLATEOBJ_cGetPalette 4
-NtGdiXLATEOBJ_iXlate 2
-NtGdiXLATEOBJ_hGetColorTransform 1
-NtGdiCLIPOBJ_bEnum 3
-NtGdiCLIPOBJ_cEnumStart 5
-NtGdiCLIPOBJ_ppoGetPath 1
-NtGdiEngDeletePath 1
-NtGdiEngCreateClip 0
-NtGdiEngDeleteClip 1
-NtGdiBRUSHOBJ_ulGetBrushColor 1
-NtGdiBRUSHOBJ_pvAllocRbrush 2
-NtGdiBRUSHOBJ_pvGetRbrush 1
-NtGdiBRUSHOBJ_hGetColorTransform 1
-NtGdiXFORMOBJ_bApplyXform 5
-NtGdiXFORMOBJ_iGetXform 2
-NtGdiFONTOBJ_vGetInfo 3
-NtGdiFONTOBJ_pxoGetXform 1
-NtGdiFONTOBJ_cGetGlyphs 5
-NtGdiFONTOBJ_pifi 1
-NtGdiFONTOBJ_pfdg 1
-NtGdiFONTOBJ_pQueryGlyphAttrs 2
-NtGdiFONTOBJ_pvTrueTypeFontFile 2
-NtGdiFONTOBJ_cGetAllGlyphHandles 2
-NtGdiSTROBJ_bEnum 3
-NtGdiSTROBJ_bEnumPositionsOnly 3
-NtGdiSTROBJ_bGetAdvanceWidths 4
-NtGdiSTROBJ_vEnumStart 1
-NtGdiSTROBJ_dwGetCodePage 1
-NtGdiPATHOBJ_vGetBounds 2
-NtGdiPATHOBJ_bEnum 2
-NtGdiPATHOBJ_vEnumStart 1
-NtGdiPATHOBJ_vEnumStartClipLines 4
-NtGdiPATHOBJ_bEnumClipLines 3
-NtGdiGetDhpdev 1
-NtGdiEngCheckAbort 1
-NtGdiHT_Get8BPPFormatPalette 4
-NtGdiHT_Get8BPPMaskPalette 6
-NtGdiUpdateTransform 1
-NtUserValidateTimerCallback 3
+++ /dev/null
-
-spec2def(w32kdll_ros.dll w32kdll_ros.spec ADD_IMPORTLIB)
-add_asm_files(w32kdll_ros_asm sys-stubs.S)
-
-add_library(w32kdll_ros SHARED
- main.c
- ${w32kdll_ros_asm}
- ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_ros.def)
-
-set_module_type(w32kdll_ros module)
-add_dependencies(w32kdll_ros psdk)
+++ /dev/null
-
-spec2def(w32kdll_vista.spec w32kdll_vista.spec ADD_IMPORTLIB)
-add_asm_files(w32kdll_vista_asm w32kdll_vista.S)
-
-add_library(w32kdll_vista SHARED
- main.c
- ${w32kdll_vista_asm}
- ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_vista.def)
-
-set_module_type(w32kdll_vista module)
-add_dependencies(w32kdll_vista psdk)
+++ /dev/null
-#
-# win32k systemcalls taken from Windows Vista SP0 x86
-#
-NtGdiAbortDoc 1
-NtGdiAbortPath 1
-NtGdiAddFontResourceW 6
-NtGdiAddRemoteFontToDC 4
-NtGdiAddFontMemResourceEx 5
-NtGdiRemoveMergeFont 2
-NtGdiAddRemoteMMInstanceToDC 3
-NtGdiAlphaBlend 12
-NtGdiAngleArc 6
-NtGdiAnyLinkedFonts 0
-NtGdiFontIsLinked 1
-NtGdiArcInternal 10
-NtGdiBeginPath 1
-NtGdiBitBlt 11
-NtGdiCancelDC 1
-NtGdiCheckBitmapBits 8
-NtGdiCloseFigure 1
-NtGdiClearBitmapAttributes 2
-NtGdiClearBrushAttributes 2
-NtGdiColorCorrectPalette 6
-NtGdiCombineRgn 4
-NtGdiCombineTransform 3
-NtGdiComputeXformCoefficients 1
-NtGdiConfigureOPMProtectedOutput 4
-NtGdiConsoleTextOut 4
-NtGdiConvertMetafileRect 2
-NtGdiCreateBitmap 5
-NtGdiCreateClientObj 1
-NtGdiCreateColorSpace 1
-NtGdiCreateColorTransform 8
-NtGdiCreateCompatibleBitmap 3
-NtGdiCreateCompatibleDC 1
-NtGdiCreateDIBBrush 6
-NtGdiCreateDIBitmapInternal 11
-NtGdiCreateDIBSection 9
-NtGdiCreateEllipticRgn 4
-NtGdiCreateHalftonePalette 1
-NtGdiCreateHatchBrushInternal 3
-NtGdiCreateMetafileDC 1
-NtGdiCreateOPMProtectedOutputs 5
-NtGdiCreatePaletteInternal 2
-NtGdiCreatePatternBrushInternal 3
-NtGdiCreatePen 4
-NtGdiCreateRectRgn 4
-NtGdiCreateRoundRectRgn 6
-NtGdiCreateServerMetaFile 6
-NtGdiCreateSolidBrush 2
-NtGdiD3dContextCreate 4
-NtGdiD3dContextDestroy 1
-NtGdiD3dContextDestroyAll 1
-NtGdiD3dValidateTextureStageState 1
-NtGdiD3dDrawPrimitives2 7
-NtGdiDdGetDriverState 1
-NtGdiDdAddAttachedSurface 3
-NtGdiDdAlphaBlt 3
-NtGdiDdAttachSurface 2
-NtGdiDdBeginMoCompFrame 2
-NtGdiDdBlt 3
-NtGdiDdCanCreateSurface 2
-NtGdiDdCanCreateD3DBuffer 2
-NtGdiDdColorControl 2
-NtGdiDdCreateDirectDrawObject 1
-NtGdiDdCreateSurface 8
-NtGdiDdCreateD3DBuffer 8
-NtGdiDdCreateMoComp 2
-NtGdiDdCreateSurfaceObject 6
-NtGdiDdDeleteDirectDrawObject 1
-NtGdiDdDeleteSurfaceObject 1
-NtGdiDdDestroyMoComp 2
-NtGdiDdDestroySurface 2
-NtGdiDdDestroyD3DBuffer 1
-NtGdiDdEndMoCompFrame 2
-NtGdiDdFlip 5
-NtGdiDdFlipToGDISurface 2
-NtGdiDdGetAvailDriverMemory 2
-NtGdiDdGetBltStatus 2
-NtGdiDdGetDC 2
-NtGdiDdGetDriverInfo 2
-NtGdiDdGetDxHandle 3
-NtGdiDdGetFlipStatus 2
-NtGdiDdGetInternalMoCompInfo 2
-NtGdiDdGetMoCompBuffInfo 2
-NtGdiDdGetMoCompGuids 2
-NtGdiDdGetMoCompFormats 2
-NtGdiDdGetScanLine 2
-NtGdiDdLock 3
-NtGdiDdLockD3D 2
-NtGdiDdQueryDirectDrawObject 11
-NtGdiDdQueryMoCompStatus 2
-NtGdiDdReenableDirectDrawObject 2
-NtGdiDdReleaseDC 1
-NtGdiDdRenderMoComp 2
-NtGdiDdResetVisrgn 2
-NtGdiDdSetColorKey 2
-NtGdiDdSetExclusiveMode 2
-NtGdiDdSetGammaRamp 3
-NtGdiDdCreateSurfaceEx 3
-NtGdiDdSetOverlayPosition 3
-NtGdiDdUnattachSurface 2
-NtGdiDdUnlock 2
-NtGdiDdUnlockD3D 2
-NtGdiDdUpdateOverlay 3
-NtGdiDdWaitForVerticalBlank 2
-NtGdiDvpCanCreateVideoPort 2
-NtGdiDvpColorControl 2
-NtGdiDvpCreateVideoPort 2
-NtGdiDvpDestroyVideoPort 2
-NtGdiDvpFlipVideoPort 4
-NtGdiDvpGetVideoPortBandwidth 2
-NtGdiDvpGetVideoPortField 2
-NtGdiDvpGetVideoPortFlipStatus 2
-NtGdiDvpGetVideoPortInputFormats 2
-NtGdiDvpGetVideoPortLine 2
-NtGdiDvpGetVideoPortOutputFormats 2
-NtGdiDvpGetVideoPortConnectInfo 2
-NtGdiDvpGetVideoSignalStatus 2
-NtGdiDvpUpdateVideoPort 4
-NtGdiDvpWaitForVideoPortSync 2
-NtGdiDvpAcquireNotification 3
-NtGdiDvpReleaseNotification 2
-NtGdiDxgGenericThunk 6
-NtGdiDeleteClientObj 1
-NtGdiDeleteColorSpace 1
-NtGdiDeleteColorTransform 2
-NtGdiDeleteObjectApp 1
-NtGdiDescribePixelFormat 4
-NtGdiDestroyOPMProtectedOutput 1
-NtGdiGetPerBandInfo 2
-NtGdiDoBanding 4
-NtGdiDoPalette 6
-NtGdiDrawEscape 4
-NtGdiEllipse 5
-NtGdiEnableEudc 1
-NtGdiEndDoc 1
-NtGdiEndPage 1
-NtGdiEndPath 1
-NtGdiEnumFontChunk 5
-NtGdiEnumFontClose 1
-NtGdiEnumFontOpen 7
-NtGdiEnumObjects 4
-NtGdiEqualRgn 2
-NtGdiEudcLoadUnloadLink 7
-NtGdiExcludeClipRect 5
-NtGdiExtCreatePen 11
-NtGdiExtCreateRegion 3
-NtGdiExtEscape 8
-NtGdiExtFloodFill 5
-NtGdiExtGetObjectW 3
-NtGdiExtSelectClipRgn 3
-NtGdiExtTextOutW 9
-NtGdiFillPath 1
-NtGdiFillRgn 3
-NtGdiFlattenPath 1
-NtGdiFlush 0
-NtGdiForceUFIMapping 2
-NtGdiFrameRgn 5
-NtGdiFullscreenControl 5
-NtGdiGetAndSetDCDword 4
-NtGdiGetAppClipBox 2
-NtGdiGetBitmapBits 3
-NtGdiGetBitmapDimension 2
-NtGdiGetBoundsRect 3
-NtGdiGetCertificate 4
-NtGdiGetCertificateSize 3
-NtGdiGetCharABCWidthsW 6
-NtGdiGetCharacterPlacementW 6
-NtGdiGetCharSet 1
-NtGdiGetCharWidthW 6
-NtGdiGetCharWidthInfo 2
-NtGdiGetColorAdjustment 2
-NtGdiGetColorSpaceforBitmap 1
-NtGdiGetCOPPCompatibleOPMInformation 3
-NtGdiGetDCDword 3
-NtGdiGetDCforBitmap 1
-NtGdiGetDCObject 2
-NtGdiGetDCPoint 3
-NtGdiGetDeviceCaps 2
-NtGdiGetDeviceGammaRamp 2
-NtGdiGetDeviceCapsAll 2
-NtGdiGetDIBitsInternal 9
-NtGdiGetETM 2
-NtGdiGetEudcTimeStampEx 3
-NtGdiGetFontData 5
-NtGdiGetFontResourceInfoInternalW 7
-NtGdiGetGlyphIndicesW 5
-NtGdiGetGlyphIndicesWInternal 6
-NtGdiGetGlyphOutline 8
-NtGdiGetOPMInformation 3
-NtGdiGetKerningPairs 3
-NtGdiGetLinkedUFIs 3
-NtGdiGetMiterLimit 2
-NtGdiGetMonitorID 3
-NtGdiGetNearestColor 2
-NtGdiGetNearestPaletteIndex 2
-NtGdiGetObjectBitmapHandle 2
-NtGdiGetOPMRandomNumber 2
-NtGdiGetOutlineTextMetricsInternalW 4
-NtGdiGetPath 4
-NtGdiGetPixel 3
-NtGdiGetRandomRgn 3
-NtGdiGetRasterizerCaps 2
-NtGdiGetRealizationInfo 3
-NtGdiGetRegionData 3
-NtGdiGetRgnBox 2
-NtGdiGetServerMetaFileBits 7
-NtGdiGetSpoolMessage 4
-NtGdiGetStats 5
-NtGdiGetStockObject 1
-NtGdiGetStringBitmapW 5
-NtGdiGetSuggestedOPMProtectedOutputArraySize 2
-NtGdiGetSystemPaletteUse 1
-NtGdiGetTextCharsetInfo 3
-NtGdiGetTextExtent 5
-NtGdiGetTextExtentExW 8
-NtGdiGetTextFaceW 4
-NtGdiGetTextMetricsW 3
-NtGdiGetTransform 3
-NtGdiGetUFI 6
-NtGdiGetEmbUFI 7
-NtGdiGetUFIPathname 10
-NtGdiGetEmbedFonts 0
-NtGdiChangeGhostFont 2
-NtGdiAddEmbFontToDC 2
-NtGdiGetFontUnicodeRanges 2
-NtGdiGetWidthTable 7
-NtGdiGradientFill 6
-NtGdiHfontCreate 5
-NtGdiIcmBrushInfo 8
-NtGdiInit 0
-NtGdiInitSpool 0
-NtGdiIntersectClipRect 5
-NtGdiInvertRgn 2
-NtGdiLineTo 3
-NtGdiMakeFontDir 5
-NtGdiMakeInfoDC 2
-NtGdiMaskBlt 13
-NtGdiModifyWorldTransform 3
-NtGdiMonoBitmap 1
-NtGdiMoveTo 4
-NtGdiOffsetClipRgn 3
-NtGdiOffsetRgn 3
-NtGdiOpenDCW 8
-NtGdiPatBlt 6
-NtGdiPolyPatBlt 5
-NtGdiPathToRegion 1
-NtGdiPlgBlt 11
-NtGdiPolyDraw 4
-NtGdiPolyPolyDraw 5
-NtGdiPolyTextOutW 4
-NtGdiPtInRegion 3
-NtGdiPtVisible 3
-NtGdiQueryFonts 3
-NtGdiQueryFontAssocInfo 1
-NtGdiRectangle 5
-NtGdiRectInRegion 2
-NtGdiRectVisible 2
-NtGdiRemoveFontResourceW 6
-NtGdiRemoveFontMemResourceEx 1
-NtGdiResetDC 5
-NtGdiResizePalette 2
-NtGdiRestoreDC 2
-NtGdiRoundRect 7
-NtGdiSaveDC 1
-NtGdiScaleViewportExtEx 6
-NtGdiScaleWindowExtEx 6
-NtGdiSelectBitmap 2
-NtGdiSelectBrush 2
-NtGdiSelectClipPath 2
-NtGdiSelectFont 2
-NtGdiSelectPen 2
-NtGdiSetBitmapAttributes 2
-NtGdiSetBitmapBits 3
-NtGdiSetBitmapDimension 4
-NtGdiSetBoundsRect 3
-NtGdiSetBrushAttributes 2
-NtGdiSetBrushOrg 4
-NtGdiSetColorAdjustment 2
-NtGdiSetColorSpace 2
-NtGdiSetDeviceGammaRamp 2
-NtGdiSetDIBitsToDeviceInternal 16
-NtGdiSetFontEnumeration 1
-NtGdiSetFontXform 3
-NtGdiSetIcmMode 3
-NtGdiSetLinkedUFIs 3
-NtGdiSetMagicColors 3
-NtGdiSetMetaRgn 1
-NtGdiSetMiterLimit 3
-NtGdiGetDeviceWidth 1
-NtGdiMirrorWindowOrg 1
-NtGdiSetLayout 3
-NtGdiSetOPMSigningKeyAndSequenceNumbers 2
-NtGdiSetPixel 4
-NtGdiSetPixelFormat 2
-NtGdiSetRectRgn 5
-NtGdiSetSystemPaletteUse 2
-NtGdiSetTextJustification 3
-NtGdiSetupPublicCFONT 3
-NtGdiSetVirtualResolution 5
-NtGdiSetSizeDevice 3
-NtGdiStartDoc 4
-NtGdiStartPage 1
-NtGdiStretchBlt 12
-NtGdiStretchDIBitsInternal 16
-NtGdiStrokeAndFillPath 1
-NtGdiStrokePath 1
-NtGdiSwapBuffers 1
-NtGdiTransformPoints 5
-NtGdiTransparentBlt 11
-NtGdiUnloadPrinterDriver 2
-NtGdiUnmapMemFont 1
-NtGdiUnrealizeObject 1
-NtGdiUpdateColors 1
-NtGdiWidenPath 1
-NtUserActivateKeyboardLayout 2
-NtUserAddClipboardFormatListener 1
-NtUserAlterWindowStyle 3
-NtUserAssociateInputContext 3
-NtUserAttachThreadInput 3
-NtUserBeginPaint 2
-NtUserBitBltSysBmp 8
-NtUserBlockInput 1
-NtUserBuildHimcList 4
-NtUserBuildHwndList 7
-NtUserBuildNameList 4
-NtUserBuildPropList 4
-NtUserCallHwnd 2
-NtUserCallHwndLock 2
-NtUserCallHwndOpt 2
-NtUserCallHwndParam 3
-NtUserCallHwndParamLock 3
-NtUserCallMsgFilter 2
-NtUserCallNextHookEx 4
-NtUserCallNoParam 1
-NtUserCallOneParam 2
-NtUserCallTwoParam 3
-NtUserChangeClipboardChain 2
-NtUserChangeDisplaySettings 4
-NtUserCheckAccessForIntegrityLevel 3
-NtUserCheckDesktopByThreadId 1
-NtUserCheckWindowThreadDesktop 3
-NtUserCheckImeHotKey 2
-NtUserCheckMenuItem 3
-NtUserChildWindowFromPointEx 4
-NtUserClipCursor 1
-NtUserCloseClipboard 0
-NtUserCloseDesktop 1
-NtUserCloseWindowStation 1
-NtUserConsoleControl 3
-NtUserConvertMemHandle 2
-NtUserCopyAcceleratorTable 3
-NtUserCountClipboardFormats 0
-NtUserCreateAcceleratorTable 2
-NtUserCreateCaret 4
-NtUserCreateDesktopEx 6
-NtUserCreateInputContext 1
-NtUserCreateLocalMemHandle 4
-NtUserCreateWindowEx 15
-NtUserCreateWindowStation 7
-NtUserDdeInitialize 5
-NtUserDeferWindowPos 8
-NtUserDefSetText 2
-NtUserDeleteMenu 3
-NtUserDestroyAcceleratorTable 1
-NtUserDestroyCursor 2
-NtUserDestroyInputContext 1
-NtUserDestroyMenu 1
-NtUserDestroyWindow 1
-NtUserDisableThreadIme 1
-NtUserDispatchMessage 1
-NtUserDoSoundConnect 0
-NtUserDoSoundDisconnect 0
-NtUserDragDetect 3
-NtUserDragObject 5
-NtUserDrawAnimatedRects 4
-NtUserDrawCaption 4
-NtUserDrawCaptionTemp 7
-NtUserDrawIconEx 11
-NtUserDrawMenuBarTemp 5
-NtUserEmptyClipboard 0
-NtUserEnableMenuItem 3
-NtUserEnableScrollBar 3
-NtUserEndDeferWindowPosEx 2
-NtUserEndMenu 0
-NtUserEndPaint 2
-NtUserEnumDisplayDevices 4
-NtUserEnumDisplayMonitors 4
-NtUserEnumDisplaySettings 4
-NtUserEvent 1
-NtUserExcludeUpdateRgn 2
-NtUserFillWindow 4
-NtUserFindExistingCursorIcon 3
-NtUserFindWindowEx 5
-NtUserFlashWindowEx 1
-NtUserFrostCrashedWindow 2
-NtUserGetAltTabInfo 6
-NtUserGetAncestor 2
-NtUserGetAppImeLevel 1
-NtUserGetAsyncKeyState 1
-NtUserGetAtomName 2
-NtUserGetCaretBlinkTime 0
-NtUserGetCaretPos 1
-NtUserGetClassInfoEx 5
-NtUserGetClassName 3
-NtUserGetClipboardData 2
-NtUserGetClipboardFormatName 3
-NtUserGetClipboardOwner 0
-NtUserGetClipboardSequenceNumber 0
-NtUserGetClipboardViewer 0
-NtUserGetClipCursor 1
-NtUserGetComboBoxInfo 2
-NtUserGetControlBrush 3
-NtUserGetControlColor 4
-NtUserGetCPD 3
-NtUserGetCursorFrameInfo 4
-NtUserGetCursorInfo 1
-NtUserGetDC 1
-NtUserGetDCEx 3
-NtUserGetDoubleClickTime 0
-NtUserGetForegroundWindow 0
-NtUserGetGuiResources 2
-NtUserGetGUIThreadInfo 2
-NtUserGetIconInfo 6
-NtUserGetIconSize 4
-NtUserGetImeHotKey 4
-NtUserGetImeInfoEx 2
-NtUserGetInternalWindowPos 3
-NtUserGetKeyboardLayoutList 2
-NtUserGetKeyboardLayoutName 1
-NtUserGetKeyboardState 1
-NtUserGetKeyNameText 3
-NtUserGetKeyState 1
-NtUserGetListBoxInfo 1
-NtUserGetMenuBarInfo 4
-NtUserGetMenuIndex 2
-NtUserGetMenuItemRect 4
-NtUserGetMessage 4
-NtUserGetMouseMovePointsEx 5
-NtUserGetObjectInformation 5
-NtUserGetOpenClipboardWindow 0
-NtUserGetPriorityClipboardFormat 2
-NtUserGetProcessWindowStation 0
-NtUserGetRawInputBuffer 3
-NtUserGetRawInputData 5
-NtUserGetRawInputDeviceInfo 4
-NtUserGetRawInputDeviceList 3
-NtUserGetRegisteredRawInputDevices 3
-NtUserGetScrollBarInfo 3
-NtUserGetSystemMenu 2
-NtUserGetThreadDesktop 2
-NtUserGetThreadState 1
-NtUserGetTitleBarInfo 2
-NtUserGetUpdatedClipboardFormats 3
-NtUserGetUpdateRect 3
-NtUserGetUpdateRgn 3
-NtUserGetWindowDC 1
-NtUserGetWindowPlacement 2
-NtUserGetWOWClass 2
-NtUserGhostWindowFromHungWindow 1
-NtUserHardErrorControl 3
-NtUserHideCaret 1
-NtUserHiliteMenuItem 4
-NtUserHungWindowFromGhostWindow 1
-NtUserImpersonateDdeClientWindow 2
-NtUserInitialize 2
-NtUserInitializeClientPfnArrays 4
-NtUserInitTask 12
-NtUserInternalGetWindowText 3
-NtUserInternalGetWindowIcon 2
-NtUserInvalidateRect 3
-NtUserInvalidateRgn 3
-NtUserIsClipboardFormatAvailable 1
-NtUserKillTimer 2
-NtUserLoadKeyboardLayoutEx 7
-NtUserLockWindowStation 1
-NtUserLockWindowUpdate 1
-NtUserLockWorkStation 0
-NtUserLogicalToPhysicalPoint 2
-NtUserMapVirtualKeyEx 4
-NtUserMenuItemFromPoint 4
-NtUserMessageCall 7
-NtUserMinMaximize 3
-NtUserMNDragLeave 0
-NtUserMNDragOver 2
-NtUserModifyUserStartupInfoFlags 2
-NtUserMoveWindow 6
-NtUserNotifyIMEStatus 3
-NtUserNotifyProcessCreate 4
-NtUserNotifyWinEvent 4
-NtUserOpenClipboard 2
-NtUserOpenDesktop 3
-NtUserOpenInputDesktop 3
-NtUserOpenThreadDesktop 5
-NtUserOpenWindowStation 2
-NtUserPaintDesktop 1
-NtUserPaintMonitor 3
-NtUserPeekMessage 5
-NtUserPhysicalToLogicalPoint 2
-NtUserPostMessage 4
-NtUserPostThreadMessage 4
-NtUserPrintWindow 3
-NtUserProcessConnect 2
-NtUserQueryInformationThread 4
-NtUserQueryInputContext 2
-NtUserQuerySendMessage 1
-NtUserQueryWindow 2
-NtUserRealChildWindowFromPoint 3
-NtUserRealInternalGetMessage 6
-NtUserRealWaitMessageEx 2
-NtUserRedrawWindow 4
-NtUserRegisterClassExWOW 7
-NtUserRegisterErrorReportingDialog 2
-NtUserRegisterUserApiHook 4
-NtUserRegisterHotKey 4
-NtUserRegisterRawInputDevices 3
-NtUserRegisterTasklist 1
-NtUserRegisterWindowMessage 1
-NtUserRemoveClipboardFormatListener 1
-NtUserRemoveMenu 3
-NtUserRemoveProp 2
-NtUserResolveDesktop 4
-NtUserResolveDesktopForWOW 1
-NtUserSBGetParms 4
-NtUserScrollDC 7
-NtUserScrollWindowEx 8
-NtUserSelectPalette 3
-NtUserSendInput 3
-NtUserSetActiveWindow 1
-NtUserSetAppImeLevel 2
-NtUserSetCapture 1
-NtUserSetClassLong 4
-NtUserSetClassWord 3
-NtUserSetClipboardData 3
-NtUserSetClipboardViewer 1
-NtUserSetConsoleReserveKeys 2
-NtUserSetCursor 1
-NtUserSetCursorContents 2
-NtUserSetCursorIconData 4
-NtUserSetFocus 1
-NtUserSetImeHotKey 5
-NtUserSetImeInfoEx 1
-NtUserSetImeOwnerWindow 2
-NtUserSetInformationProcess 4
-NtUserSetInformationThread 4
-NtUserSetInternalWindowPos 4
-NtUserSetKeyboardState 1
-NtUserSetMenu 3
-NtUserSetMenuContextHelpId 2
-NtUserSetMenuDefaultItem 3
-NtUserSetMenuFlagRtoL 1
-NtUserSetObjectInformation 4
-NtUserSetParent 2
-NtUserSetProcessWindowStation 1
-NtUserGetProp 2
-NtUserSetProp 3
-NtUserSetScrollInfo 4
-NtUserSetShellWindowEx 2
-NtUserSetSysColors 4
-NtUserSetSystemCursor 2
-NtUserSetSystemMenu 2
-NtUserSetSystemTimer 3
-NtUserSetThreadDesktop 1
-NtUserSetThreadLayoutHandles 2
-NtUserSetThreadState 2
-NtUserSetTimer 4
-NtUserSetProcessDPIAware 0
-NtUserSetWindowFNID 2
-NtUserSetWindowLong 4
-NtUserSetWindowPlacement 2
-NtUserSetWindowPos 7
-NtUserSetWindowRgn 3
-NtUserGetWindowRgnEx 3
-NtUserSetWindowRgnEx 3
-NtUserSetWindowsHookAW 3
-NtUserSetWindowsHookEx 6
-NtUserSetWindowStationUser 4
-NtUserSetWindowWord 3
-NtUserSetWinEventHook 8
-NtUserShowCaret 1
-NtUserShowScrollBar 3
-NtUserShowWindow 2
-NtUserShowWindowAsync 2
-NtUserSoundSentry 0
-NtUserSwitchDesktop 2
-NtUserSystemParametersInfo 4
-NtUserTestForInteractiveUser 1
-NtUserThunkedMenuInfo 2
-NtUserThunkedMenuItemInfo 6
-NtUserToUnicodeEx 7
-NtUserTrackMouseEvent 1
-NtUserTrackPopupMenuEx 6
-NtUserCalcMenuBar 5
-NtUserPaintMenuBar 6
-NtUserTranslateAccelerator 3
-NtUserTranslateMessage 2
-NtUserUnhookWindowsHookEx 1
-NtUserUnhookWinEvent 1
-NtUserUnloadKeyboardLayout 1
-NtUserUnlockWindowStation 1
-NtUserUnregisterClass 3
-NtUserUnregisterUserApiHook 0
-NtUserUnregisterHotKey 2
-NtUserUpdateInputContext 3
-NtUserUpdateInstance 3
-NtUserUpdateLayeredWindow 10
-NtUserGetLayeredWindowAttributes 4
-NtUserSetLayeredWindowAttributes 4
-NtUserUpdatePerUserSystemParameters 1
-NtUserUserHandleGrantAccess 3
-NtUserValidateHandleSecure 1
-NtUserValidateRect 2
-NtUserValidateTimerCallback 1
-NtUserVkKeyScanEx 3
-NtUserWaitForInputIdle 3
-NtUserWaitForMsgAndEvent 1
-NtUserWaitMessage 0
-NtUserWin32PoolAllocationStats 6
-NtUserWindowFromPhysicalPoint 2
-NtUserWindowFromPoint 2
-NtUserYieldTask 0
-NtUserRemoteConnect 3
-NtUserRemoteRedrawRectangle 4
-NtUserRemoteRedrawScreen 0
-NtUserRemoteStopScreenUpdates 0
-NtUserCtxDisplayIOCtl 3
-NtUserRegisterSessionPort 1
-NtUserUnregisterSessionPort 0
-NtUserUpdateWindowTransform 3
-NtUserDwmStartRedirection 1
-NtUserDwmStopRedirection 0
-NtUserDwmHintDxUpdate 2
-NtUserDwmGetDxRgn 3
-NtUserGetWindowMinimizeRect 2
-NtGdiEngAssociateSurface 3
-NtGdiEngCreateBitmap 6
-NtGdiEngCreateDeviceSurface 4
-NtGdiEngCreateDeviceBitmap 4
-NtGdiEngCreatePalette 6
-NtGdiEngComputeGlyphSet 3
-NtGdiEngCopyBits 6
-NtGdiEngDeletePalette 1
-NtGdiEngDeleteSurface 1
-NtGdiEngEraseSurface 3
-NtGdiEngUnlockSurface 1
-NtGdiEngLockSurface 1
-NtGdiEngBitBlt 11
-NtGdiEngStretchBlt 11
-NtGdiEngPlgBlt 11
-NtGdiEngMarkBandingSurface 1
-NtGdiEngStrokePath 8
-NtGdiEngFillPath 7
-NtGdiEngStrokeAndFillPath 10
-NtGdiEngPaint 5
-NtGdiEngLineTo 9
-NtGdiEngAlphaBlend 7
-NtGdiEngGradientFill 10
-NtGdiEngTransparentBlt 8
-NtGdiEngTextOut 10
-NtGdiEngStretchBltROP 13
-NtGdiXLATEOBJ_cGetPalette 4
-NtGdiXLATEOBJ_iXlate 2
-NtGdiXLATEOBJ_hGetColorTransform 1
-NtGdiCLIPOBJ_bEnum 3
-NtGdiCLIPOBJ_cEnumStart 5
-NtGdiCLIPOBJ_ppoGetPath 1
-NtGdiEngDeletePath 1
-NtGdiEngCreateClip 0
-NtGdiEngDeleteClip 1
-NtGdiBRUSHOBJ_ulGetBrushColor 1
-NtGdiBRUSHOBJ_pvAllocRbrush 2
-NtGdiBRUSHOBJ_pvGetRbrush 1
-NtGdiBRUSHOBJ_hGetColorTransform 1
-NtGdiXFORMOBJ_bApplyXform 5
-NtGdiXFORMOBJ_iGetXform 2
-NtGdiFONTOBJ_vGetInfo 3
-NtGdiFONTOBJ_pxoGetXform 1
-NtGdiFONTOBJ_cGetGlyphs 5
-NtGdiFONTOBJ_pifi 1
-NtGdiFONTOBJ_pfdg 1
-NtGdiFONTOBJ_pQueryGlyphAttrs 2
-NtGdiFONTOBJ_pvTrueTypeFontFile 2
-NtGdiFONTOBJ_cGetAllGlyphHandles 2
-NtGdiSTROBJ_bEnum 3
-NtGdiSTROBJ_bEnumPositionsOnly 3
-NtGdiSTROBJ_bGetAdvanceWidths 4
-NtGdiSTROBJ_vEnumStart 1
-NtGdiSTROBJ_dwGetCodePage 1
-NtGdiPATHOBJ_vGetBounds 2
-NtGdiPATHOBJ_bEnum 2
-NtGdiPATHOBJ_vEnumStart 1
-NtGdiPATHOBJ_vEnumStartClipLines 4
-NtGdiPATHOBJ_bEnumClipLines 3
-NtGdiGetDhpdev 1
-NtGdiEngCheckAbort 1
-NtGdiHT_Get8BPPFormatPalette 4
-NtGdiHT_Get8BPPMaskPalette 6
-NtGdiUpdateTransform 1
-NtGdiSetPUMPDOBJ 4
-NtGdiBRUSHOBJ_DeleteRbrush 2
-NtGdiUMPDEngFreeUserMem 1
-NtGdiDrawStream 3
-NtGdiDwmGetDirtyRgn 5
-NtGdiDwmGetSurfaceData 2
-NtGdiDdDDICreateAllocation 1
-NtGdiDdDDIQueryResourceInfo 1
-NtGdiDdDDIOpenResource 1
-NtGdiDdDDIDestroyAllocation 1
-NtGdiDdDDISetAllocationPriority 1
-NtGdiDdDDIQueryAllocationResidency 1
-NtGdiDdDDICreateDevice 1
-NtGdiDdDDIDestroyDevice 1
-NtGdiDdDDICreateContext 1
-NtGdiDdDDIDestroyContext 1
-NtGdiDdDDICreateSynchronizationObject 1
-NtGdiDdDDIDestroySynchronizationObject 1
-NtGdiDdDDIWaitForSynchronizationObject 1
-NtGdiDdDDISignalSynchronizationObject 1
-NtGdiDdDDIGetRuntimeData 1
-NtGdiDdDDIQueryAdapterInfo 1
-NtGdiDdDDILock 1
-NtGdiDdDDIUnlock 1
-NtGdiDdDDIGetDisplayModeList 1
-NtGdiDdDDISetDisplayMode 1
-NtGdiDdDDIGetMultisampleMethodList 1
-NtGdiDdDDIPresent 1
-NtGdiDdDDIRender 1
-NtGdiDdDDIOpenAdapterFromDeviceName 1
-NtGdiDdDDIOpenAdapterFromHdc 1
-NtGdiDdDDICloseAdapter 1
-NtGdiDdDDIGetSharedPrimaryHandle 1
-NtGdiDdDDIEscape 1
-NtGdiDdDDIQueryStatistics 1
-NtGdiDdDDISetVidPnSourceOwner 1
-NtGdiDdDDIGetPresentHistory 1
-NtGdiDdDDICreateOverlay 1
-NtGdiDdDDIUpdateOverlay 1
-NtGdiDdDDIFlipOverlay 1
-NtGdiDdDDIDestroyOverlay 1
-NtGdiDdDDIWaitForVerticalBlankEvent 1
-NtGdiDdDDISetGammaRamp 1
-NtGdiDdDDIGetDeviceState 1
-NtGdiDdDDICreateDCFromMemory 1
-NtGdiDdDDIDestroyDCFromMemory 1
-NtGdiDdDDISetContextSchedulingPriority 1
-NtGdiDdDDIGetContextSchedulingPriority 1
-NtGdiDdDDISetProcessSchedulingPriorityClass 2
-NtGdiDdDDIGetProcessSchedulingPriorityClass 2
-NtGdiDdDDIReleaseProcessVidPnSourceOwners 1
-NtGdiDdDDIGetScanLine 1
-NtGdiDdDDISetQueuedLimit 1
-NtGdiDdDDIPollDisplayChildren 1
-NtGdiDdDDIInvalidateActiveVidPn 1
-NtGdiDdDDICheckOcclusion 1
-NtGdiDdDDIWaitForIdle 1
-NtGdiDdDDICheckMonitorPowerState 1
-NtGdiDdDDICheckExclusiveOwnership 0
-NtGdiDdDDISetDisplayPrivateDriverFormat 1
-NtGdiDdDDISharedPrimaryLockNotification 1
-NtGdiDdDDISharedPrimaryUnLockNotification 1
-NtGdiMakeObjectXferable 2
-NtGdiMakeObjectUnXferable 1
-NtGdiGetNumberOfPhysicalMonitors 2
-NtGdiGetPhysicalMonitors 4
-NtGdiGetPhysicalMonitorDescription 3
-NtGdiDestroyPhysicalMonitor 1
-NtGdiDDCCIGetVCPFeature 5
-NtGdiDDCCISetVCPFeature 3
-NtGdiDDCCISaveCurrentSettings 1
-NtGdiDDCCIGetCapabilitiesStringLength 2
-NtGdiDDCCIGetCapabilitiesString 3
-NtGdiDDCCIGetTimingReport 2
-NtUserSetMirrorRendering 2
-NtUserShowSystemCursor 1
+++ /dev/null
-
-spec2def(w32kdll_xpsp2.dll w32kdll_xpsp2.spec ADD_IMPORTLIB)
-add_asm_files(w32kdll_xpsp2_asm sys-stubs.S)
-
-add_library(w32kdll_xpsp2 SHARED
- main.c
- ${w32kdll_xpsp2_asm}
- ${CMAKE_CURRENT_BINARY_DIR}/w32kdll_xpsp2.def)
-
-set_module_type(w32kdll_xpsp2 module)
-add_dependencies(w32kdll_xpsp2 psdk)
+++ /dev/null
-
-add_definitions(-D_DLL -D__USE_CRTIMP)
-include_directories(${REACTOS_SOURCE_DIR}/win32ss/include)
-
-list(APPEND SOURCE
- osver.c
- testlist.c
- w32knapi.c
- w32knapi.rc)
-
-add_executable(w32knapi ${SOURCE})
-target_link_libraries(w32knapi apitest)
-set_module_type(w32knapi win32cui)
-add_importlibs(w32knapi
- w32kdll_ros # w32kdll_2ksp4 w32kdll_xpsp2 w32kdll_2k3sp2 w32kdll_vista
- gdi32
- user32
- shell32
- advapi32
- msvcrt
- kernel32
- ntdll)
+++ /dev/null
-
-INT
-Test_NtGdiDdCreateDirectDrawObject(PTESTINFO pti)
-{
- HANDLE hDirectDraw;
- HDC hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
- ASSERT(hdc != NULL);
-
- /* Test ReactX */
- RTEST(NtGdiDdCreateDirectDrawObject(NULL) == NULL);
- RTEST((hDirectDraw=NtGdiDdCreateDirectDrawObject(hdc)) != NULL);
-
- /* Cleanup ReactX setup */
- DeleteDC(hdc);
- NtGdiDdDeleteDirectDrawObject(hDirectDraw);
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-INT
-Test_NtGdiDdDeleteDirectDrawObject(PTESTINFO pti)
-{
- HANDLE hDirectDraw;
- HDC hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
- ASSERT(hdc != NULL);
-
- /* Test ReactX */
- RTEST(NtGdiDdDeleteDirectDrawObject(NULL) == FALSE);
- RTEST((hDirectDraw=NtGdiDdCreateDirectDrawObject(hdc)) != NULL);
- ASSERT(hDirectDraw != NULL);
- RTEST(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE);
-
- /* Cleanup ReactX setup */
- DeleteDC(hdc);
- Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDraw);
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-INT
-Test_NtGdiCreateCompatibleBitmap(PTESTINFO pti)
-{
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-INT
-Test_NtGdiEngCreatePalette(PTESTINFO pti)
-{
- HPALETTE hPal;
- ULONG Colors[3] = {1,2,3};
- PGDI_TABLE_ENTRY pEntry;
-
- hPal = NtGdiEngCreatePalette(PAL_RGB, 3, Colors, 0xff000000, 0x00ff0000, 0x0000ff00);
-
- TEST(hPal != 0);
- TEST(GDI_HANDLE_GET_TYPE(hPal) == GDI_OBJECT_TYPE_PALETTE);
- pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(hPal)];
- TEST(pEntry->KernelData != NULL);
- TEST(pEntry->ProcessId == GetCurrentProcessId());
- TEST(pEntry->UserData == 0);
- TEST(pEntry->Type == (((UINT)hPal >> 16) | GDI_OBJECT_TYPE_PALETTE));
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-
-INT
-Test_HwndOptRoutine_SetProgmanWindow(PTESTINFO pti) /* 0x4a */
-{
-// NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETPROGMANWINDOW);
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_HwndOptRoutine_SetTaskmanWindow (PTESTINFO pti) /* 0x4b */
-{
-// NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETTASKMANWINDOW);
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NtUserCallHwndOpt(PTESTINFO pti)
-{
-
- Test_HwndOptRoutine_SetProgmanWindow(pti); /* 0x4a */
- Test_HwndOptRoutine_SetTaskmanWindow (pti); /* 0x4b */
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-
-INT
-Test_NtUserCallHwndParamLock(PTESTINFO pti)
-{
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-
-INT
-Test_NoParamRoutine_CreateMenu(PTESTINFO pti) /* 0 */
-{
- HMENU hMenu;
-
- hMenu = (HMENU)NtUserCallNoParam(_NOPARAM_ROUTINE_CREATEMENU);
- TEST(IsMenu(hMenu) == TRUE);
- DestroyMenu(hMenu);
-
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_CreatePopupMenu(PTESTINFO pti) /* 1 */
-{
- HMENU hMenu;
-
- hMenu = (HMENU)NtUserCallNoParam(_NOPARAM_ROUTINE_CREATEMENUPOPUP);
- TEST(IsMenu(hMenu) == TRUE);
- DestroyMenu(hMenu);
-
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_DisableProcessWindowsGhosting(PTESTINFO pti) /* 2 */
-{
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_ClearWakeMask(PTESTINFO pti) /* 3 */
-{
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_AllowForegroundActivation(PTESTINFO pti) /* 4 */
-{
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_DestroyCaret(PTESTINFO pti) /* 5 */
-{
- return APISTATUS_NORMAL;
-}
-
-INT
-Test_NoParamRoutine_LoadUserApiHook(PTESTINFO pti) /* 0x1d */
-{
- //DWORD dwRet;
- /* dwRet = */NtUserCallNoParam(_NOPARAM_ROUTINE_LOADUSERAPIHOOK);
-
-// TEST(dwRet != 0);
- return APISTATUS_NORMAL;
-}
-
-
-INT
-Test_NtUserCallNoParam(PTESTINFO pti)
-{
- Test_NoParamRoutine_CreateMenu(pti);
- Test_NoParamRoutine_CreatePopupMenu(pti);
- Test_NoParamRoutine_LoadUserApiHook(pti); /* 0x1d */
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-/* First the call stub */
-DWORD WINAPI
-NtUserCountClipboardFormats(VOID)
-{
- DWORD p;
- return Syscall(L"NtUserCountClipboardFormats", 0, &p);
-}
-
-INT
-Test_NtUserCountClipboardFormats(PTESTINFO pti)
-{
- RTEST(NtUserCountClipboardFormats() < 1000);
- return APISTATUS_NORMAL;
-}
-
+++ /dev/null
-INT
-Test_NtUserFindExistingCursoricon(PTESTINFO pti)
-{
-
- return APISTATUS_NORMAL;
-}
-
+++ /dev/null
-INT
-Test_NtUserGetTitleBarInfo(PTESTINFO pti)
-{
- HWND hWnd;
- TITLEBARINFO tbi;
-
- hWnd = CreateWindowA("BUTTON",
- "Test",
- BS_PUSHBUTTON | WS_VISIBLE,
- 0,
- 0,
- 50,
- 30,
- NULL,
- NULL,
- g_hInstance,
- 0);
-
- ASSERT(hWnd);
-
- /* FALSE case */
- /* no windows handle */
- TEST(NtUserGetTitleBarInfo(NULL, &tbi) == FALSE);
- /* no TITLEBARINFO struct */
- TEST(NtUserGetTitleBarInfo(hWnd, NULL) == FALSE);
- /* nothing */
- TEST(NtUserGetTitleBarInfo(NULL, NULL) == FALSE);
- /* wrong size */
- tbi.cbSize = 0;
- TEST(NtUserGetTitleBarInfo(hWnd, &tbi) == FALSE);
-
- /* TRUE case */
- tbi.cbSize = sizeof(TITLEBARINFO);
- TEST(NtUserGetTitleBarInfo(hWnd, &tbi) == TRUE);
-
- DestroyWindow(hWnd);
-
- return APISTATUS_NORMAL;
-}
-
+++ /dev/null
-
-
-
-INT
-Test_NtUserSetTimer(PTESTINFO pti)
-{
-
-
- // check valid argument
- // check for replacement / new timers
- // check when expiries are handled (msgs and calls)
-
-
- return APISTATUS_NORMAL;
-}
+++ /dev/null
-#include "w32knapi.h"
-
-/* include the tests */
-
-#include "ntdd/NtGdiDdCreateDirectDrawObject.c"
-#include "ntdd/NtGdiDdDeleteDirectDrawObject.c"
-#include "ntdd/NtGdiDdQueryDirectDrawObject.c"
-
-#include "ntgdi/NtGdiArcInternal.c"
-#include "ntgdi/NtGdiBitBlt.c"
-#include "ntgdi/NtGdiCombineRgn.c"
-#include "ntgdi/NtGdiCreateBitmap.c"
-#include "ntgdi/NtGdiCreateCompatibleBitmap.c"
-#include "ntgdi/NtGdiCreateCompatibleDC.c"
-#include "ntgdi/NtGdiCreateDIBSection.c"
-#include "ntgdi/NtGdiDeleteObjectApp.c"
-#include "ntgdi/NtGdiDoPalette.c"
-#include "ntgdi/NtGdiEngCreatePalette.c"
-//#include "ntgdi/NtGdiEnumFontChunk.c"
-#include "ntgdi/NtGdiEnumFontOpen.c"
-//#include "ntgdi/NtGdiExtCreatePen.c"
-#include "ntgdi/NtGdiExtTextOutW.c"
-#include "ntgdi/NtGdiFlushUserBatch.c"
-#include "ntgdi/NtGdiGetBitmapBits.c"
-#include "ntgdi/NtGdiGetFontResourceInfoInternalW.c"
-#include "ntgdi/NtGdiGetRandomRgn.c"
-#include "ntgdi/NtGdiPolyPolyDraw.c"
-#include "ntgdi/NtGdiRestoreDC.c"
-#include "ntgdi/NtGdiSaveDC.c"
-#include "ntgdi/NtGdiSelectBitmap.c"
-#include "ntgdi/NtGdiSelectBrush.c"
-#include "ntgdi/NtGdiSelectFont.c"
-#include "ntgdi/NtGdiSelectPen.c"
-#include "ntgdi/NtGdiSetBitmapBits.c"
-#include "ntgdi/NtGdiSetDIBitsToDeviceInternal.c"
-//#include "ntgdi/NtGdiSTROBJ_vEnumStart.c"
-#include "ntgdi/NtGdiGetDIBits.c"
-#include "ntgdi/NtGdiGetStockObject.c"
-
-#include "ntuser/NtUserCallHwnd.c"
-#include "ntuser/NtUserCallHwndLock.c"
-#include "ntuser/NtUserCallHwndOpt.c"
-#include "ntuser/NtUserCallHwndParam.c"
-#include "ntuser/NtUserCallHwndParamLock.c"
-#include "ntuser/NtUserCallNoParam.c"
-#include "ntuser/NtUserCallOneParam.c"
-#include "ntuser/NtUserCountClipboardFormats.c"
-//#include "ntuser/NtUserCreateWindowEx.c"
-#include "ntuser/NtUserEnumDisplayMonitors.c"
-#include "ntuser/NtUserEnumDisplaySettings.c"
-#include "ntuser/NtUserFindExistingCursorIcon.c"
-#include "ntuser/NtUserGetClassInfo.c"
-#include "ntuser/NtUserGetIconInfo.c"
-#include "ntuser/NtUserGetTitleBarInfo.c"
-#include "ntuser/NtUserProcessConnect.c"
-#include "ntuser/NtUserRedrawWindow.c"
-#include "ntuser/NtUserScrollDC.c"
-#include "ntuser/NtUserSelectPalette.c"
-#include "ntuser/NtUserSetTimer.c"
-#include "ntuser/NtUserSystemParametersInfo.c"
-#include "ntuser/NtUserToUnicodeEx.c"
-#include "ntuser/NtUserUpdatePerUserSystemParameters.c"
-
-/* The List of tests */
-TESTENTRY TestList[] =
-{
- /* DirectDraw */
- { L"NtGdiDdCreateDirectDrawObject", Test_NtGdiDdCreateDirectDrawObject },
- { L"NtGdiDdQueryDirectDrawObject", Test_NtGdiDdQueryDirectDrawObject },
- { L"NtGdiDdDeleteDirectDrawObject", Test_NtGdiDdDeleteDirectDrawObject },
-
- /* ntgdi */
- { L"NtGdiArcInternal", Test_NtGdiArcInternal },
- { L"NtGdiBitBlt", Test_NtGdiBitBlt },
- { L"NtGdiCombineRgn", Test_NtGdiCombineRgn },
- { L"NtGdiCreateBitmap", Test_NtGdiCreateBitmap },
- { L"NtGdiCreateCompatibleBitmap", Test_NtGdiCreateCompatibleBitmap },
- { L"NtGdiCreateCompatibleDC", Test_NtGdiCreateCompatibleDC },
- { L"NtGdiCreateDIBSection", Test_NtGdiCreateDIBSection },
- { L"NtGdiDeleteObjectApp", Test_NtGdiDeleteObjectApp },
- { L"NtGdiDoPalette", Test_NtGdiDoPalette },
- { L"NtGdiEngCreatePalette", Test_NtGdiEngCreatePalette },
-// { L"NtGdiEnumFontChunk", Test_NtGdiEnumFontChunk },
- { L"NtGdiEnumFontOpen", Test_NtGdiEnumFontOpen },
-// { L"NtGdiExtCreatePen", Test_NtGdiExtCreatePen },
- { L"NtGdiExtTextOutW", Test_NtGdiExtTextOutW },
- { L"NtGdiFlushUserBatch", Test_NtGdiFlushUserBatch },
- { L"NtGdiGetBitmapBits", Test_NtGdiGetBitmapBits },
- { L"NtGdiGetFontResourceInfoInternalW", Test_NtGdiGetFontResourceInfoInternalW },
- { L"NtGdiGetRandomRgn", Test_NtGdiGetRandomRgn },
- { L"NtGdiPolyPolyDraw", Test_NtGdiPolyPolyDraw },
- { L"NtGdiRestoreDC", Test_NtGdiRestoreDC },
- { L"NtGdiSaveDC", Test_NtGdiSaveDC },
- { L"NtGdiSetBitmapBits", Test_NtGdiSetBitmapBits },
- { L"NtGdiSetDIBitsToDeviceInternal", Test_NtGdiSetDIBitsToDeviceInternal },
- { L"NtGdiSelectBitmap", Test_NtGdiSelectBitmap },
- { L"NtGdiSelectBrush", Test_NtGdiSelectBrush },
- { L"NtGdiSelectFont", Test_NtGdiSelectFont },
- { L"NtGdiSelectPen", Test_NtGdiSelectPen },
-// { L"NtGdiSTROBJ_vEnumStart", Test_NtGdiSTROBJ_vEnumStart },
- { L"NtGdiGetDIBitsInternal", Test_NtGdiGetDIBitsInternal },
- { L"NtGdiGetStockObject", Test_NtGdiGetStockObject },
-
- /* ntuser */
- { L"NtUserCallHwnd", Test_NtUserCallHwnd },
- { L"NtUserCallHwndLock", Test_NtUserCallHwndLock },
- { L"NtUserCallHwndOpt", Test_NtUserCallHwndOpt },
- { L"NtUserCallHwndParam", Test_NtUserCallHwndParam },
- { L"NtUserCallHwndParamLock", Test_NtUserCallHwndParamLock },
- { L"NtUserCallNoParam", Test_NtUserCallNoParam },
- { L"NtUserCallOneParam", Test_NtUserCallOneParam },
- { L"NtUserCountClipboardFormats", Test_NtUserCountClipboardFormats },
-// { L"NtUserCreateWindowEx", Test_NtUserCreateWindowEx },
- { L"NtUserEnumDisplayMonitors", Test_NtUserEnumDisplayMonitors },
- { L"NtUserEnumDisplaySettings", TEST_NtUserEnumDisplaySettings },
- { L"NtUserFindExistingCursorIcon", Test_NtUserFindExistingCursoricon },
- { L"NtUserGetClassInfo", Test_NtUserGetClassInfo },
- { L"NtUserGetIconInfo", Test_NtUserGetIconInfo },
- { L"NtUserGetTitleBarInfo", Test_NtUserGetTitleBarInfo },
- { L"NtUserProcessConnect", Test_NtUserProcessConnect },
- { L"NtUserRedrawWindow", Test_NtUserRedrawWindow },
- { L"NtUserScrollDC", Test_NtUserScrollDC },
- { L"NtUserSelectPalette", Test_NtUserSelectPalette },
- { L"NtUserSetTimer", Test_NtUserSetTimer },
- { L"NtUserSystemParametersInfo", Test_NtUserSystemParametersInfo },
- { L"NtUserToUnicodeEx", Test_NtUserToUnicodeEx },
- { L"NtUserUpdatePerUserSystemParameters", Test_NtUserUpdatePerUserSystemParameters },
-};
-
-/* The function that gives us the number of tests */
-INT NumTests(void)
-{
- return sizeof(TestList) / sizeof(TESTENTRY);
-}
-
-
--- /dev/null
+
+add_subdirectory(win32kdll_ros)
+add_subdirectory(win32kdll_xpsp2)
+#add_subdirectory(win32kdll_2ksp4)
+add_subdirectory(win32kdll_2k3sp2)
+#add_subdirectory(win32kdll_vista)
--- /dev/null
+
+spec2def(win32kdll_2k3sp2.dll win32kdll_2k3sp2.spec ADD_IMPORTLIB)
+add_asm_files(win32kdll_2k3sp2_asm sys-stubs.S)
+
+add_library(win32kdll_2k3sp2 SHARED
+ main.c
+ ${win32kdll_2k3sp2_asm}
+ ${CMAKE_CURRENT_BINARY_DIR}/win32kdll_2k3sp2.def)
+
+set_module_type(win32kdll_2k3sp2 module)
+add_dependencies(win32kdll_2k3sp2 psdk)
SyscallId = HEX(1000)
#define SVC_(name, argcount) STUB_U name, argcount
-#include "w32ksvc-2k3sp2.h"
+#include "win32ksvc-2k3sp2.h"
END
--- /dev/null
+
+spec2def(win32kdll_2ksp4.dll win32kdll_2ksp4.spec)
+add_asm_files(win32kdll_2ksp4_asm win32kdll_2ksp4.S)
+
+add_library(win32kdll_2ksp4 SHARED
+ main.c
+ ${win32kdll_2ksp4_asm}
+ ${CMAKE_CURRENT_BINARY_DIR}/win32kdll_2ksp4.def)
+
+set_module_type(win32kdll_2ksp4 module)
+add_dependencies(win32kdll_2ksp4 psdk)
--- /dev/null
+
+include_directories(${REACTOS_SOURCE_DIR}/win32ss)
+
+spec2def(win32kdll.dll win32kdll_ros.spec ADD_IMPORTLIB)
+add_asm_files(win32kdll_ros_asm sys-stubs.S)
+
+add_library(win32kdll SHARED
+ main.c
+ ${win32kdll_ros_asm}
+ ${CMAKE_CURRENT_BINARY_DIR}/win32kdll.def)
+
+set_module_type(win32kdll module)
+add_dependencies(win32kdll psdk)
+add_cd_file(TARGET win32kdll DESTINATION reactos/bin FOR all)
SyscallId = HEX(1000)
#define SVC_(name, argcount) STUB_U name, argcount
-#include "win32ksvc-ros.h"
+#include "w32ksvc.h"
END
@ stdcall NtGdiFillPath(ptr)
@ stdcall NtGdiFillRgn(ptr ptr ptr)
@ stdcall NtGdiFlattenPath(ptr)
-@ stdcall NtGdiFlushUserBatch()
+# @ stdcall NtGdiFlushUserBatch()
@ stdcall NtGdiFlush()
@ stdcall NtGdiForceUFIMapping(ptr ptr)
@ stdcall NtGdiFrameRgn(ptr ptr ptr long long)
@ stdcall NtGdiMoveTo(ptr long long ptr)
@ stdcall NtGdiOffsetClipRgn(ptr long long)
@ stdcall NtGdiOffsetRgn(ptr long long)
-@ stdcall NtGdiOpenDCW(ptr ptr ptr long ptr long ptr ptr) # FIXME: 7 params on XP
+@ stdcall NtGdiOpenDCW(ptr ptr ptr long ptr long ptr)
@ stdcall NtGdiPatBlt(ptr long long long long long)
@ stdcall NtGdiPolyPatBlt(ptr long ptr long long)
@ stdcall NtGdiPathToRegion(ptr)
@ stdcall NtUserCallOneParam(ptr long)
@ stdcall NtUserCallTwoParam(ptr ptr long)
@ stdcall NtUserChangeClipboardChain(ptr ptr)
-@ stdcall NtUserChangeDisplaySettings(ptr ptr ptr long ptr)
+# @ stdcall NtUserChangeDisplaySettings(ptr ptr ptr long ptr)
@ stdcall NtUserCheckImeHotKey(long long)
@ stdcall NtUserCheckMenuItem(ptr long long)
@ stdcall NtUserChildWindowFromPointEx(ptr long long long)
@ stdcall NtUserQueryInformationThread(ptr long ptr long)
@ stdcall NtUserQueryInputContext(long long)
@ stdcall NtUserQuerySendMessage(long)
-@ stdcall NtUserQueryUserCounters(long long long long long)
+#@ stdcall NtUserQueryUserCounters(long long long long long)
@ stdcall NtUserQueryWindow(ptr long)
@ stdcall NtUserRealChildWindowFromPoint(ptr long long)
@ stdcall NtUserRealInternalGetMessage(ptr ptr long long long long)
@ stdcall NtUserSetParent(ptr ptr)
@ stdcall NtUserSetProcessWindowStation(ptr)
@ stdcall NtUserSetProp(ptr long ptr)
-@ stdcall NtUserSetRipFlags(long long)
+#@ stdcall NtUserSetRipFlags(long long)
@ stdcall NtUserSetScrollInfo(ptr long ptr long)
@ stdcall NtUserSetShellWindowEx(ptr ptr)
@ stdcall NtUserSetSysColors(long ptr ptr long)
@ stdcall NtUserSetLayeredWindowAttributes(ptr long long long)
@ stdcall NtUserUpdatePerUserSystemParameters(long long)
@ stdcall NtUserUserHandleGrantAccess(ptr ptr long)
-@ stdcall NtUserValidateHandleSecure(ptr long)
+#@ stdcall NtUserValidateHandleSecure(ptr long)
@ stdcall NtUserValidateRect(ptr ptr)
-@ stdcall NtUserValidateTimerCallback(ptr ptr ptr)
+#@ stdcall NtUserValidateTimerCallback(ptr ptr ptr)
@ stdcall NtUserVkKeyScanEx(long ptr long)
@ stdcall NtUserWaitForInputIdle(ptr long long)
@ stdcall NtUserWaitForMsgAndEvent(long)
--- /dev/null
+
+spec2def(win32kdll_vista.spec win32kdll_vista.spec ADD_IMPORTLIB)
+add_asm_files(win32kdll_vista_asm win32kdll_vista.S)
+
+add_library(win32kdll_vista SHARED
+ main.c
+ ${win32kdll_vista_asm}
+ ${CMAKE_CURRENT_BINARY_DIR}/win32kdll_vista.def)
+
+set_module_type(win32kdll_vista module)
+add_dependencies(win32kdll_vista psdk)
--- /dev/null
+
+spec2def(win32kdll_xpsp2.dll win32kdll_xpsp2.spec ADD_IMPORTLIB)
+add_asm_files(win32kdll_xpsp2_asm sys-stubs.S)
+
+add_library(win32kdll_xpsp2 SHARED
+ main.c
+ ${win32kdll_xpsp2_asm}
+ ${CMAKE_CURRENT_BINARY_DIR}/win32kdll_xpsp2.def)
+
+set_module_type(win32kdll_xpsp2 module)
+add_dependencies(win32kdll_xpsp2 psdk)
--- /dev/null
+
+add_definitions(-D_DLL -D__USE_CRTIMP)
+include_directories(${REACTOS_SOURCE_DIR}/win32ss/include ../gditools)
+
+list(APPEND SOURCE
+ ntdd/NtGdiDdCreateDirectDrawObject.c
+ ntdd/NtGdiDdDeleteDirectDrawObject.c
+ ntdd/NtGdiDdQueryDirectDrawObject.c
+
+ ntgdi/NtGdiArcInternal.c
+ ntgdi/NtGdiBitBlt.c
+ ntgdi/NtGdiCombineRgn.c
+ ntgdi/NtGdiCreateBitmap.c
+ ntgdi/NtGdiCreateCompatibleBitmap.c
+ ntgdi/NtGdiCreateCompatibleDC.c
+ ntgdi/NtGdiCreateDIBSection.c
+ ntgdi/NtGdiDeleteObjectApp.c
+ ntgdi/NtGdiDoPalette.c
+ ntgdi/NtGdiEngCreatePalette.c
+ ntgdi/NtGdiEnumFontOpen.c
+ #ntgdi/NtGdiExtSelectClipRgn.c
+ ntgdi/NtGdiExtTextOutW.c
+ #ntgdi/NtGdiFlushUserBatch.c
+ ntgdi/NtGdiGetBitmapBits.c
+ ntgdi/NtGdiGetDIBits.c
+ ntgdi/NtGdiGetFontResourceInfoInternalW.c
+ ntgdi/NtGdiGetRandomRgn.c
+ ntgdi/NtGdiGetStockObject.c
+ ntgdi/NtGdiPolyPolyDraw.c
+ ntgdi/NtGdiRestoreDC.c
+ ntgdi/NtGdiSaveDC.c
+ ntgdi/NtGdiSelectBitmap.c
+ ntgdi/NtGdiSelectBrush.c
+ ntgdi/NtGdiSelectFont.c
+ ntgdi/NtGdiSelectPen.c
+ ntgdi/NtGdiSetBitmapBits.c
+ ntgdi/NtGdiSetDIBitsToDeviceInternal.c
+
+# ntuser/NtUserCallHwnd.c
+# ntuser/NtUserCallHwndLock.c
+# ntuser/NtUserCallHwndOpt.c
+# ntuser/NtUserCallHwndParam.c
+# ntuser/NtUserCallHwndParamLock.c
+# ntuser/NtUserCallNoParam.c
+# ntuser/NtUserCallOneParam.c
+ ntuser/NtUserCountClipboardFormats.c
+# ntuser/NtUserEnumDisplayMonitors.c
+ ntuser/NtUserEnumDisplaySettings.c
+ ntuser/NtUserFindExistingCursorIcon.c
+ ntuser/NtUserGetClassInfo.c
+# ntuser/NtUserGetIconInfo.c
+ ntuser/NtUserGetTitleBarInfo.c
+ ntuser/NtUserProcessConnect.c
+ ntuser/NtUserRedrawWindow.c
+ ntuser/NtUserScrollDC.c
+ ntuser/NtUserSelectPalette.c
+ ntuser/NtUserSetTimer.c
+ ntuser/NtUserSystemParametersInfo.c
+ ntuser/NtUserToUnicodeEx.c
+ ntuser/NtUserUpdatePerUserSystemParameters.c
+
+ #osver.c
+ testlist.c
+ w32knapi.rc)
+
+add_executable(win32knt_apitest ${SOURCE})
+target_link_libraries(win32knt_apitest ${PSEH_LIB} gditools)
+set_module_type(win32knt_apitest win32cui)
+add_importlibs(win32knt_apitest
+ win32kdll # win32kdll_2ksp4 win32kdll_xpsp2 win32kdll_2k3sp2 win32kdll_vista
+ gdi32
+ user32
+ shell32
+ advapi32
+ msvcrt
+ kernel32
+ ntdll)
+
+add_cd_file(TARGET win32knt_apitest DESTINATION reactos/bin FOR all)
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiDdCreateDirectDrawObject
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiDdCreateDirectDrawObject)
+{
+ HANDLE hDirectDraw;
+ HDC hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
+ ok(hdc != NULL, "\n");
+
+ /* Test ReactX */
+ ok(NtGdiDdCreateDirectDrawObject(NULL) == NULL, "\n");
+ ok((hDirectDraw = NtGdiDdCreateDirectDrawObject(hdc)) != NULL, "\n");
+
+ /* Cleanup ReactX setup */
+ DeleteDC(hdc);
+ NtGdiDdDeleteDirectDrawObject(hDirectDraw);
+}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiDdDeleteDirectDrawObject
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiDdDeleteDirectDrawObject)
+{
+ HANDLE hDirectDraw;
+ HDC hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
+ ok(hdc != NULL, "\n");
+
+ /* Test ReactX */
+ ok(NtGdiDdDeleteDirectDrawObject(NULL) == FALSE, "\n");
+ ok((hDirectDraw=NtGdiDdCreateDirectDrawObject(hdc)) != NULL, "\n");
+ ok(NtGdiDdDeleteDirectDrawObject(hDirectDraw) == TRUE, "\n");
+
+ /* Cleanup ReactX setup */
+ DeleteDC(hdc);
+ NtGdiDdDeleteDirectDrawObject(hDirectDraw);
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiDdCreateDirectDrawObject
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
/* Note : OsThunkDdQueryDirectDrawObject is the usermode name of NtGdiDdQueryDirectDrawObject
* it lives in d3d8thk.dll and in windows 2000 it doing syscall direcly to win32k.sus
* in windows xp and higher it call to gdi32.dll to DdEntry41 and it doing the syscall
*/
-INT
-Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
+START_TEST(NtGdiDdQueryDirectDrawObject)
{
HANDLE hDirectDraw = NULL;
DD_HALINFO *pHalInfo = NULL;
memset(&HalInfo,0,sizeof(DD_HALINFO));
memset(CallBackFlags,0,sizeof(DWORD)*3);
- /* Get currenet display mode */
- EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &devmode);
+ /* Get current display mode */
+ EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &devmode);
/* Create hdc that we can use */
hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
RTEST(puD3dBufferCallbacks == NULL);
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
- RTEST(puFourCC == NULL);
+ RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
RTEST(pHalInfo->vmiData.ddpfDisplay.dwSize == sizeof(DDPIXELFORMAT) );
ASSERT(pHalInfo->vmiData.ddpfDisplay.dwSize == sizeof(DDPIXELFORMAT));
- /* We can not check if it DDPF_RGB flags been set for primary surface
+ /* We can not check if it DDPF_RGB flags been set for primary surface
* for it can be DDPF_PALETTEINDEXED1,DDPF_PALETTEINDEXED2,DDPF_PALETTEINDEXED4,DDPF_PALETTEINDEXED8, DDPF_PALETTEINDEXEDTO8, DDPF_RGB, DDPF_YUV
*/
- RTEST( (pHalInfo->vmiData.ddpfDisplay.dwFlags & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 | DDPF_PALETTEINDEXED4 |
+ RTEST( (pHalInfo->vmiData.ddpfDisplay.dwFlags & (DDPF_PALETTEINDEXED1 | DDPF_PALETTEINDEXED2 | DDPF_PALETTEINDEXED4 |
DDPF_PALETTEINDEXED8 | DDPF_PALETTEINDEXEDTO8 | DDPF_RGB | DDPF_YUV)) != 0);
/* Count RGB Bits 8/16/24/32 */
RTEST(pHalInfo->vmiData.ddpfDisplay.dwRGBBitCount == devmode.dmBitsPerPel );
- /* The rgb mask can not be detected in user mode, for it can be 15Bpp convert to 16Bpp mode, so we have no way detect correct mask
- * But the mask can never be Zero
+ /* The rgb mask can not be detected in user mode, for it can be 15Bpp convert to 16Bpp mode, so we have no way detect correct mask
+ * But the mask can never be Zero
*/
RTEST(pHalInfo->vmiData.ddpfDisplay.dwRBitMask != 0 );
RTEST(pHalInfo->vmiData.ddpfDisplay.dwGBitMask != 0 );
/* primary never set the alpha blend mask */
RTEST(pHalInfo->vmiData.ddpfDisplay.dwRGBAlphaBitMask == 0 );
- /* This can not be test at usermode it is each hardware drv that fill in it,
+ /* This can not be test at usermode it is each hardware drv that fill in it,
* only way to found them is to use this call */
// pHalInfo->vmiData->dwOffscreenAlign
// pHalInfo->vmiData->dwOverlayAlign
// pHalInfo->vmiData->dwTextureAlign
// pHalInfo->vmiData->dwZBufferAlign
- // pHalInfo->vmiData->dwAlphaAlign
+ // pHalInfo->vmiData->dwAlphaAlign
/* the primary display address */
RTEST( ( (DWORD)pHalInfo->vmiData.pvPrimary & (~0x80000000)) != 0 );
- /* test see if we got back the pvmList here
+ /* test see if we got back the pvmList here
* acording msdn vmiData.dwNumHeaps and vmiData.pvmList
- * exists for _VIDEOMEMORYINFO but they do not, it reviews
- * in ddk and wdk and own testcase
- */
+ * exists for _VIDEOMEMORYINFO but they do not, it reviews
+ * in ddk and wdk and own testcase
+ */
// RTEST(pHalInfo->vmiData.dwNumHeaps != 0 );
// RTEST(pHalInfo->vmiData.pvmList != 0 );
- /* Test see if we got any hardware acclartions for 2d or 3d, this always fill in
- * that mean we found a bugi drv and dx does not work on this drv
+ /* Test see if we got any hardware acclartions for 2d or 3d, this always fill in
+ * that mean we found a bugi drv and dx does not work on this drv
*/
/* the SIS 760 GX will never fill it in, it is a bugi drv */
RTEST( pHalInfo->ddCaps.dwCaps != 0);
RTEST( pHalInfo->ddCaps.ddsCaps.dwCaps != 0);
- /* This flags is obsolete and should not be used by the driver */
+ /* This flags is obsolete and should not be used by the driver */
RTEST( pHalInfo->ddCaps.dwFXAlphaCaps == 0);
-
+
/* basic dx 2 is found if this flags not set
* if this fail we do not have a dx driver install acodring ms, some version of windows it
* is okay this fail and drv does then only support basic dx
- *
+ *
*/
if (pHalInfo->dwFlags != 0)
{
}
/* point to kmode direcly to the graphic drv, the drv is kmode and it is kmode address we getting back*/
-
+
/* the pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE will be ignore, only way detect it proper follow code,
- * this will be fill in of all drv, it is not only for 3d stuff, this always fill by win32k.sys or dxg.sys depns
+ * this will be fill in of all drv, it is not only for 3d stuff, this always fill by win32k.sys or dxg.sys depns
* if it windows 2000 or windows xp/2003
*
* point to kmode direcly to the win32k.sys, win32k.sys is kmode and it is kmode address we getting back
RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
/* Rember on some nivida drv the pCallBackFlags will not be set even they api exists in the drv
- * known workaround is to check if the drv really return a kmode pointer for the drv functions
+ * known workaround is to check if the drv really return a kmode pointer for the drv functions
* we want to use.
*/
RTEST(pCallBackFlags[0] != 0);
ASSERT(puD3dCallbacks != NULL);
/* the pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE will be ignore, only way detect it proper follow code,
- * this will be fill in of all drv, it is not only for 3d stuff, this always fill by win32k.sys or dxg.sys depns
+ * this will be fill in of all drv, it is not only for 3d stuff, this always fill by win32k.sys or dxg.sys depns
* if it windows 2000 or windows xp/2003
*/
RTEST(puD3dCallbacks->dwSize == sizeof(D3DNTHAL_CALLBACKS));
- /* Nivda like GF7900GS will not follow ms design rule here,
+ /* Nivda like GF7900GS will not follow ms design rule here,
* ContextDestroyAll must alwyas be NULL for it is not longer inuse in windows 2000 and higher
*/
RTEST(puD3dCallbacks->ContextDestroyAll == NULL);
- /* Nivda like GF7900GS will not follow ms design rule here,
+ /* Nivda like GF7900GS will not follow ms design rule here,
* SceneCapture must alwyas be NULL for it is not longer inuse in windows 2000 and higher
*/
RTEST(puD3dCallbacks->SceneCapture == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
- /* We retesting pCallBackFlags */
+ /* We retesting pCallBackFlags */
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
RTEST(pCallBackFlags[2] == 0);
RTEST(memcmp(&oldD3dCallbacks, puD3dCallbacks, sizeof(D3DNTHAL_CALLBACKS)) == 0);
/* start test of puD3dDriverData */
-
+
RTEST(puD3dDriverData->dwSize == sizeof(D3DNTHAL_GLOBALDRIVERDATA));
RTEST(puD3dDriverData->hwCaps.dwSize == sizeof(D3DNTHALDEVICEDESC_V1));
RTEST(puD3dDriverData->hwCaps.dtcTransformCaps.dwSize == sizeof(D3DTRANSFORMCAPS));
- RTEST(puD3dDriverData->hwCaps.dlcLightingCaps.dwSize == sizeof(D3DLIGHTINGCAPS));
+ RTEST(puD3dDriverData->hwCaps.dlcLightingCaps.dwSize == sizeof(D3DLIGHTINGCAPS));
RTEST(puD3dDriverData->hwCaps.dpcLineCaps.dwSize == sizeof(D3DPRIMCAPS));
RTEST(puD3dDriverData->hwCaps.dpcTriCaps.dwSize == sizeof(D3DPRIMCAPS));
RTEST(puD3dDriverData->hwCaps.dwMaxBufferSize == 0);
- RTEST(puD3dDriverData->hwCaps.dwMaxVertexCount == 0);
+ RTEST(puD3dDriverData->hwCaps.dwMaxVertexCount == 0);
/* Backup D3DHAL_GLOBALDRIVERDATA so we do not need resting it */
RtlCopyMemory(&oldD3dDriverData, &D3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA));
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
- /* We retesting the flags */
+ /* We retesting the flags */
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
RTEST(pCallBackFlags[2] == 0);
RtlCopyMemory(&oldD3dBufferCallbacks, &D3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS));
-/* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, */
+/* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, */
pHalInfo = &HalInfo;
pCallBackFlags = CallBackFlags;
puD3dCallbacks = &D3dCallbacks;
RTEST(puD3dTextureFormats != NULL);
ASSERT(puD3dTextureFormats != NULL);
-
+
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
- /* We retesting the flags */
+ /* We retesting the flags */
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
RTEST(pCallBackFlags[2] == 0);
RTEST(memcmp(&oldD3dDriverData, puD3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA)) == 0);
RTEST(memcmp(&oldD3dBufferCallbacks, puD3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS)) == 0);
- /* start test of dwNumTextureFormats */
+ /* start test of dwNumTextureFormats */
if (puD3dDriverData->dwNumTextureFormats != 0)
{
myDesc = puD3dTextureFormats;
for (dwTextureCounter=0;dwTextureCounter<puD3dDriverData->dwNumTextureFormats;dwTextureCounter++)
{
- RTEST(myDesc->dwSize == sizeof(DDSURFACEDESC))
+ RTEST(myDesc->dwSize == sizeof(DDSURFACEDESC));
ASSERT(myDesc->dwSize == sizeof(DDSURFACEDESC));
RTEST( (myDesc->dwFlags & (~(DDSD_CAPS|DDSD_PIXELFORMAT))) == 0);
RTEST(myDesc->ddckCKSrcOverlay.dwColorSpaceLowValue == 0);
RTEST(myDesc->ddckCKSrcOverlay.dwColorSpaceHighValue == 0);
RTEST(myDesc->ddckCKSrcBlt.dwColorSpaceLowValue == 0);
- RTEST(myDesc->ddckCKSrcBlt.dwColorSpaceHighValue == 0);
+ RTEST(myDesc->ddckCKSrcBlt.dwColorSpaceHighValue == 0);
RTEST(myDesc->ddpfPixelFormat.dwSize == sizeof(DDPIXELFORMAT));
RTEST(myDesc->ddpfPixelFormat.dwFlags != 0);
if (myDesc->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
myDesc = (DDSURFACEDESC *) (((DWORD) myDesc) + sizeof(DDSURFACEDESC));
}
}
-
- /* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, NULL, */
+
+ /* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, NULL, */
pHalInfo = &HalInfo;
pCallBackFlags = CallBackFlags;
puD3dCallbacks = &D3dCallbacks;
puD3dDriverData = &D3dDriverData;
puD3dBufferCallbacks = &D3dBufferCallbacks;
puNumHeaps = &NumHeaps;
-
+
if (puD3dDriverData->dwNumTextureFormats != 0)
{
RtlZeroMemory(puD3dTextureFormats, puD3dDriverData->dwNumTextureFormats * sizeof(DDSURFACEDESC2));
- }
+ }
RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));
RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);
RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));
RTEST(puD3dTextureFormats != NULL);
ASSERT(puD3dTextureFormats != NULL);
-
+
RTEST(puNumHeaps != NULL);
ASSERT(puNumHeaps != NULL);
RTEST(NumHeaps == 0);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
-
+
RTEST(puvmList == NULL);
- /* We retesting the flags */
+ /* We retesting the flags */
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
RTEST(pCallBackFlags[2] == 0);
/* we skip resting texture */
- /* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, NULL, */
+ /* testing NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, puNumHeaps, puvmList, NULL, */
pHalInfo = &HalInfo;
pCallBackFlags = CallBackFlags;
puD3dCallbacks = &D3dCallbacks;
puD3dBufferCallbacks = &D3dBufferCallbacks;
puNumHeaps = &NumHeaps;
puvmList = &vmList;
-
+
if (puD3dDriverData->dwNumTextureFormats != 0)
{
RtlZeroMemory(puD3dTextureFormats, puD3dDriverData->dwNumTextureFormats * sizeof(DDSURFACEDESC2));
- }
+ }
RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));
RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);
RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));
RTEST(puD3dTextureFormats != NULL);
ASSERT(puD3dTextureFormats != NULL);
-
+
RTEST(puNumHeaps != NULL);
ASSERT(puNumHeaps != NULL);
RTEST(NumHeaps == 0);
- RTEST(puvmList != NULL);
+ RTEST(puvmList != NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
-
-
- /* We retesting the flags */
+
+
+ /* We retesting the flags */
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
RTEST(pCallBackFlags[2] == 0);
/* we skip resting texture */
/* Todo
- * adding test for
+ * adding test for
* puNumFourCC
* puFourCC
*/
/* Cleanup ReactX setup */
DeleteDC(hdc);
- Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDraw);
-
- return APISTATUS_NORMAL;
+ NtGdiDdDeleteDirectDrawObject(hDirectDraw);
}
-INT
-Test_NtGdiArcInternal(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiArcInternal
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiArcInternal)
{
HDC hDC = CreateDCW(L"Display",NULL,NULL,NULL);
// was passiert, wenn left > right ? einfach tauschen?
-
DeleteDC(hDC);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiBitBlt
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiBitBlt(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiBitBlt)
{
BOOL bRet;
HDC hdc1, hdc2;
bRet = NtGdiBitBlt((HDC)0x123456, 0, 0, 10, 10, (HDC)0x123456, 10, 10, SRCCOPY, 0, 0);
TEST(bRet == FALSE);
TEST(GetLastError() == ERROR_SUCCESS);
-
+
hdc1 = NtGdiCreateCompatibleDC(0);
TEST(hdc1 != NULL);
-
+
hdc2 = NtGdiCreateCompatibleDC(0);
TEST(hdc2 != NULL);
-
+
hbmp1 = NtGdiCreateBitmap(2, 2, 1, 32, (LPBYTE)bytes1 );
TEST(hbmp1 != NULL);
hOldBmp1 = SelectObject(hdc1, hbmp1);
-
+
TESTX(NtGdiGetPixel(hdc1, 0, 0) == 0x000000ff, "Pixel[0][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 0));
TESTX(NtGdiGetPixel(hdc1, 0, 1) == 0x00ff0000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc1, 1, 0) == 0x0000ff00, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc1, 1, 1) == 0x00ffffff, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
hbmp2 = NtGdiCreateBitmap(2, 2, 1, 32, (LPBYTE)bytes2 );
TEST(hbmp2 != NULL);
hOldBmp2 = SelectObject(hdc2, hbmp2);
-
+
bRet = NtGdiBitBlt(hdc2, 1, 1, -2, -2, hdc1, 0, 0, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00000000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x00000000, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00000000, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
bRet = NtGdiBitBlt(hdc2, 1, 1, -2, -2, hdc1, 1, 1, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00000000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x00000000, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00000000, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
NtGdiSetPixel(hdc2, 0, 0, 0x00000000);
-
+
bRet = NtGdiBitBlt(hdc2, 1, 1, -2, -2, hdc1, 0, 0, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00000000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x00000000, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00000000, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
bRet = NtGdiBitBlt(hdc2, 1, 1, -2, -2, hdc1, 2, 2, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00000000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x00000000, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00000000, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
NtGdiSetPixel(hdc2, 0, 0, 0x00000000);
-
+
bRet = NtGdiBitBlt(hdc2, 2, 2, -2, -2, hdc1, 2, 2, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00ff0000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x0000ff00, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00ffffff, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
NtGdiSetPixel(hdc2, 0, 0, 0x00000000);
NtGdiSetPixel(hdc2, 1, 0, 0x00000000);
NtGdiSetPixel(hdc2, 0, 1, 0x00000000);
NtGdiSetPixel(hdc2, 1, 1, 0x00000000);
-
+
bRet = NtGdiBitBlt(hdc2, 0, 0, 2, 2, hdc1, 0, 0, SRCCOPY, 0, 0);
TEST(bRet == TRUE);
TEST(GetLastError() == ERROR_SUCCESS);
TESTX(NtGdiGetPixel(hdc2, 0, 1) == 0x00ff0000, "Pixel[0][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 0, 1));
TESTX(NtGdiGetPixel(hdc2, 1, 0) == 0x0000ff00, "Pixel[1][0] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 0));
TESTX(NtGdiGetPixel(hdc2, 1, 1) == 0x00ffffff, "Pixel[1][1] 0x%08x\n", (UINT)NtGdiGetPixel(hdc2, 1, 1));
-
+
SelectObject(hdc2, hOldBmp2);
SelectObject(hdc1, hOldBmp1);
-
+
DeleteObject(hbmp2);
DeleteObject(hbmp1);
-
+
DeleteDC(hdc1);
DeleteDC(hdc2);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiCombineRgn
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiCombineRgn(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiCombineRgn)
{
HRGN hRgnDest, hRgn1, hRgn2;
// test what params are accepted for what operations
SetRectRgn(hRgn1, 2, 2, 4, 3);
TEST(NtGdiCombineRgn(hRgnDest, hRgnDest, hRgn1, RGN_XOR) == NULLREGION);
-
/* What if 2 regions are the same */
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiCreateBitmap_Params(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiCreateBitmap
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+void Test_NtGdiCreateBitmap_Params(void)
{
HBITMAP hBmp;
BITMAP bitmap;
SetLastError(ERROR_SUCCESS);
TEST(NtGdiCreateBitmap(0, 0, 1, 1, NULL) == NULL);
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
-
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiCreateBitmap(PTESTINFO pti)
+START_TEST(NtGdiCreateBitmap)
{
- INT ret;
-
- ret = Test_NtGdiCreateBitmap_Params(pti);
- if (ret != APISTATUS_NORMAL)
- return ret;
-
-// ret = Test_NtGdiCreateBitmap_Pixel(pti);
-// if (ret != APISTATUS_NORMAL)
-// return ret;
- return APISTATUS_NORMAL;
+ Test_NtGdiCreateBitmap_Params();
+// Test_NtGdiCreateBitmap_Pixel();
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiCreateCompatibleBitmap
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiCreateCompatibleBitmap)
+{
+
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiCreateCompatibleDC
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiCreateCompatibleDC(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiCreateCompatibleDC)
{
HDC hDC;
HGDIOBJ hObj;
/* The default pen should be GetStockObject(BLACK_PEN) */
hObj = SelectObject(hDC, GetStockObject(WHITE_PEN));
TEST(hObj == GetStockObject(BLACK_PEN));
-
- TEST(NtGdiDeleteObjectApp(hDC) != 0);
- return APISTATUS_NORMAL;
+ TEST(NtGdiDeleteObjectApp(hDC) != 0);
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiCreateDIBSection
+ * PROGRAMMERS:
+ */
-/*
+#include <win32nt.h>
+
+/*
HBITMAP
APIENTRY
NtGdiCreateDIBSection(
WidthBits = pbih->biWidth * pbih->biBitCount * pbih->biPlanes;
WidthBytes = ((WidthBits + 31) & ~ 31) >> 3;
- return pbih->biHeight * WidthBytes;
+ return pbih->biHeight * WidthBytes;
}
-INT
-Test_NtGdiCreateDIBSection(PTESTINFO pti)
+START_TEST(NtGdiCreateDIBSection)
{
HBITMAP hbmp;
HDC hDC;
struct
{
BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[100];
+ RGBQUAD bmiColors[100];
} bmi;
PBITMAPINFO pbmi = (PBITMAPINFO)&bmi;
PBITMAPINFOHEADER pbih = (PBITMAPINFOHEADER)&bmi.bmiHeader;
/* Test section */
MaximumSize.QuadPart = 4096;
- Status = ZwCreateSection(&hSection,
+ Status = NtCreateSection(&hSection,
SECTION_ALL_ACCESS,
NULL,
&MaximumSize,
printf("hbmp = %p, pvBits = %p, hSection = %p\n", hbmp, pvBits, hSection);
//system("PAUSE");
if (hbmp) DeleteObject(hbmp);
-
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiDeleteObjectApp
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiDeleteObjectApp(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiDeleteObjectApp)
{
HDC hdc;
HBITMAP hbmp;
/* Delete a compatible DC */
SetLastError(0);
hdc = CreateCompatibleDC(NULL);
- ASSERT(IsHandleValid(hdc) == 1);
+ ASSERT(GdiIsHandleValid(hdc) == 1);
TEST(NtGdiDeleteObjectApp(hdc) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hdc) == 0);
-
+ TEST(GdiIsHandleValid(hdc) == 0);
+
/* Delete a display DC */
SetLastError(0);
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
- ASSERT(IsHandleValid(hdc) == 1);
+ ASSERT(GdiIsHandleValid(hdc) == 1);
TEST((hpen=SelectObject(hdc, GetStockObject(WHITE_PEN))) != NULL);
SelectObject(hdc, hpen);
TEST(NtGdiDeleteObjectApp(hdc) != 0);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hdc) == 1);
+ TEST(GdiIsHandleValid(hdc) == 1);
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
-
+
/* Once more */
SetLastError(0);
hdc = GetDC(0);
- ASSERT(IsHandleValid(hdc) == 1);
+ ASSERT(GdiIsHandleValid(hdc) == 1);
TEST(NtGdiDeleteObjectApp(hdc) != 0);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hdc) == 1);
+ TEST(GdiIsHandleValid(hdc) == 1);
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
/* Make sure */
TEST(NtUserCallOneParam((DWORD_PTR)hdc, ONEPARAM_ROUTINE_RELEASEDC) == 0);
-
+
/* Delete a brush */
SetLastError(0);
hbrush = CreateSolidBrush(0x123456);
- ASSERT(IsHandleValid(hbrush) == 1);
+ ASSERT(GdiIsHandleValid(hbrush) == 1);
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbrush) == 0);
+ TEST(GdiIsHandleValid(hbrush) == 0);
/* Try to delete a stock brush */
SetLastError(0);
hbrush = GetStockObject(BLACK_BRUSH);
- ASSERT(IsHandleValid(hbrush) == 1);
+ ASSERT(GdiIsHandleValid(hbrush) == 1);
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbrush) == 1);
+ TEST(GdiIsHandleValid(hbrush) == 1);
/* Delete a bitmap */
SetLastError(0);
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
- ASSERT(IsHandleValid(hbmp) == 1);
+ ASSERT(GdiIsHandleValid(hbmp) == 1);
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbmp) == 0);
+ TEST(GdiIsHandleValid(hbmp) == 0);
/* Create a DC for further use */
hdc = CreateCompatibleDC(NULL);
/* Try to delete a brush that is selected into a DC */
SetLastError(0);
hbrush = CreateSolidBrush(0x123456);
- ASSERT(IsHandleValid(hbrush) == 1);
- TEST(NtGdiSelectBrush(hdc, hbrush));
+ ASSERT(GdiIsHandleValid(hbrush) == 1);
+ TEST(NtGdiSelectBrush(hdc, hbrush) != NULL);
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbrush) == 1);
+ TEST(GdiIsHandleValid(hbrush) == 1);
/* Try to delete a bitmap that is selected into a DC */
SetLastError(0);
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
- ASSERT(IsHandleValid(hbmp) == 1);
- TEST(NtGdiSelectBitmap(hdc, hbmp));
+ ASSERT(GdiIsHandleValid(hbmp) == 1);
+ TEST(NtGdiSelectBitmap(hdc, hbmp) != NULL);
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbmp) == 1);
+ TEST(GdiIsHandleValid(hbmp) == 1);
/* Bitmap get's deleted as soon as we dereference it */
NtGdiSelectBitmap(hdc, GetStockObject(DEFAULT_BITMAP));
- TEST(IsHandleValid(hbmp) == 0);
+ TEST(GdiIsHandleValid(hbmp) == 0);
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbmp) == 0);
+ TEST(GdiIsHandleValid(hbmp) == 0);
/* Try to delete a brush that is selected into a DC */
SetLastError(0);
hbrush = CreateSolidBrush(123);
- ASSERT(IsHandleValid(hbrush) == 1);
- TEST(NtGdiSelectBrush(hdc, hbrush));
+ ASSERT(GdiIsHandleValid(hbrush) == 1);
+ TEST(NtGdiSelectBrush(hdc, hbrush) != NULL);
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
TEST(GetLastError() == 0);
- TEST(IsHandleValid(hbrush) == 1);
-
- return APISTATUS_NORMAL;
+ TEST(GdiIsHandleValid(hbrush) == 1);
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiDoPalette
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
HPALETTE
CreateTestPalette()
{
return CreatePalette((LOGPALETTE*)&palstruct);
}
-INT
-Test_NtGdiDoPalette_GdiPalAnimate(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_GdiPalAnimate(void)
{
HPALETTE hPal;
PALETTEENTRY palEntries[5] = {
RTEST(palEntries2[3].peFlags == palEntries[3].peFlags);
DeleteObject(hPal);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiDoPalette_GdiPalSetEntries(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_GdiPalSetEntries(void)
{
HDC hDC;
HPALETTE hPal, hOldPal;
/* Test pEntries = NULL */
RTEST(NtGdiDoPalette(hPal, 0, 1, NULL, GdiPalGetEntries, TRUE) == 0);
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiDoPalette_GdiPalGetEntries(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_GdiPalGetEntries(void)
{
HPALETTE hPal;
// Test flags 0xf0
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiDoPalette_GetSystemPalette(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_GetSystemPalette(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_NtGdiDoPalette_GetBIBColorTable(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_GetBIBColorTable(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_NtGdiDoPalette_SetDIBColorTable(PTESTINFO pti)
+void
+Test_NtGdiDoPalette_SetDIBColorTable(void)
{
HDC hdc;
HBITMAP hbmp;
} bmi;
hdc = CreateCompatibleDC(0);
- ASSERT(hdc);
+ ASSERT(hdc != NULL);
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = 10;
DeleteDC(hdc);
DeleteObject(hbmp);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiDoPalette(PTESTINFO pti)
+START_TEST(NtGdiDoPalette)
{
- INT ret;
-
- ret = Test_NtGdiDoPalette_GdiPalAnimate(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
-
- ret = Test_NtGdiDoPalette_GdiPalSetEntries(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
-
- ret = Test_NtGdiDoPalette_GdiPalGetEntries(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
-
- ret = Test_NtGdiDoPalette_GetSystemPalette(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
-
- ret = Test_NtGdiDoPalette_GetBIBColorTable(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
-
- ret = Test_NtGdiDoPalette_SetDIBColorTable(pti);
- if (ret != APISTATUS_NORMAL)
- {
- return ret;
- }
+ Test_NtGdiDoPalette_GdiPalAnimate();
+ Test_NtGdiDoPalette_GdiPalSetEntries();
+ Test_NtGdiDoPalette_GdiPalGetEntries();
+ Test_NtGdiDoPalette_GetSystemPalette();
+ Test_NtGdiDoPalette_GetBIBColorTable();
+ Test_NtGdiDoPalette_SetDIBColorTable();
- return APISTATUS_NORMAL;
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiEngCreatePalette
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiEngCreatePalette)
+{
+ HPALETTE hPal;
+ ULONG Colors[3] = {1,2,3};
+ PENTRY pEntry;
+
+ hPal = NtGdiEngCreatePalette(PAL_RGB, 3, Colors, 0xff000000, 0x00ff0000, 0x0000ff00);
+
+ TEST(hPal != 0);
+ TEST(GDI_HANDLE_GET_TYPE(hPal) == GDI_OBJECT_TYPE_PALETTE);
+ pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(hPal)];
+ TEST(pEntry->einfo.pobj != NULL);
+ TEST(pEntry->ObjectOwner.ulObj == GetCurrentProcessId());
+ TEST(pEntry->pUser == 0);
+ //TEST(pEntry->Type == (((UINT)hPal >> 16) | GDI_OBJECT_TYPE_PALETTE));
+
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiEnumFontOpen
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiEnumFontOpen(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiEnumFontOpen)
{
HDC hDC;
ULONG_PTR idEnum;
ULONG ulCount;
- PGDI_TABLE_ENTRY pEntry;
+ PENTRY pEntry;
hDC = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
/* we should have a gdi handle here */
TEST(GDI_HANDLE_GET_TYPE(idEnum) == GDI_OBJECT_TYPE_ENUMFONT);
pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(idEnum)];
- TEST(pEntry->KernelData != NULL);
- TEST(pEntry->ProcessId == GetCurrentProcessId());
- TEST(pEntry->UserData == 0);
- TEST(pEntry->Type == ((idEnum >> 16) | GDI_OBJECT_TYPE_ENUMFONT));
+ TEST(pEntry->einfo.pobj != NULL);
+ TEST(pEntry->ObjectOwner.ulObj == GetCurrentProcessId());
+ TEST(pEntry->pUser == NULL);
+ TEST(pEntry->FullUnique == (idEnum >> 16));
+ TEST(pEntry->Objt == GDI_OBJECT_TYPE_ENUMFONT >> 16);
+ TEST(pEntry->Flags == 0);
/* We should not be able to use DeleteObject() on the handle */
TEST(DeleteObject((HGDIOBJ)idEnum) == FALSE);
// Test no logfont (NULL): should word
// Test empty lfFaceName string: should not work
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiExtTextOutW
+ * PROGRAMMERS:
+ */
-/*
+#include <win32nt.h>
+
+/*
BOOL
APIENTRY
NtGdiExtTextOutW(
IN DWORD dwCodePage)
*/
-INT
-Test_NtGdiExtTextOutW(PTESTINFO pti)
+START_TEST(NtGdiExtTextOutW)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HWND hWnd;
HDC hDC;
RECT rect;
/* Create a window */
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
- NULL, NULL, g_hInstance, 0);
+ NULL, NULL, hinst, 0);
hDC = GetDC(hWnd);
lpstr = L"Hallo";
ret = NtGdiExtTextOutW(hDC, 0, 0, 0, 0, lpstr, len, (INT*)((ULONG_PTR)Dx + 1), 0);
TEST(ret == 1);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiFlushUserBatch
+ * PROGRAMMERS:
+ */
+#include <win32nt.h>
NTSTATUS
(NTAPI
*pNtGdiFlushUserBatch)(VOID);
-INT
-Test_NtGdiFlushUserBatch(PTESTINFO pti)
+START_TEST(NtGdiFlushUserBatch)
{
PVOID pRet;
PTEB pTeb;
TEST(pTeb->GdiTebBatch.Offset == 0);
TEST(pTeb->GdiTebBatch.HDC == 0);
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiGetBitmapBits(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiGetBitmapBits
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiGetBitmapBits)
{
BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
HBITMAP hBitmap;
RTEST(GetLastError() == ERROR_SUCCESS);
DeleteObject(hBitmap);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiGetDIBitsInternal
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
/* taken from gdi32, bitmap.c */
UINT
FASTCALL
}
-INT
-Test_NtGdiGetDIBitsInternal(PTESTINFO pti)
+START_TEST(NtGdiGetDIBitsInternal)
{
HBITMAP hBitmap;
struct
ReleaseDC(NULL, hDCScreen);
DeleteObject(hBitmap);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiGetFontResourceInfoInternalW
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiGetFontResourceInfoInternalW(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiGetFontResourceInfoInternalW)
{
BOOL bRet;
DWORD dwBufSize;
// RemoveFontResourceW(szFullFileName);
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiGetRandomRgn(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiGetRandomRgn
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiGetRandomRgn)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HWND hWnd;
HDC hDC;
HRGN hrgn, hrgn2;
/* Create a window */
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
- NULL, NULL, g_hInstance, 0);
+ NULL, NULL, hinst, 0);
// UpdateWindow(hWnd);
hDC = GetDC(hWnd);
ReleaseDC(hWnd, hDC);
DestroyWindow(hWnd);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiGetStockObject
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiGetStockObject(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiGetStockObject)
{
HANDLE handle = NULL;
BITMAP bitmap;
RTEST(NtGdiGetStockObject(22) == 0);
RTEST(NtGdiGetStockObject(23) == 0);
- return APISTATUS_NORMAL;
+
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiPolyPolyDraw
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
static
-INT
-Test_Params(PTESTINFO pti)
+void
+Test_Params(void)
{
ULONG_PTR ret;
ULONG Count1[4] = {3, 2, 4, 3};
TEST(ret == 0);
TEST(GetLastError() == 87);
- return APISTATUS_NORMAL;
}
-
-INT
-Test_NtGdiPolyPolyDraw(PTESTINFO pti)
+START_TEST(NtGdiPolyPolyDraw)
{
- Test_Params(pti);
+ Test_Params();
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiRestoreDC
+ * PROGRAMMERS:
+ */
+#include <win32nt.h>
static HBRUSH hbrush;
static HBITMAP hbitmap;
static
void
-Test_IsSpecialState(PTESTINFO pti, HDC hdc, BOOL bMemDC)
+Test_IsSpecialState(HDC hdc, BOOL bMemDC)
{
POINT pt;
SIZE sz;
static
void
-Test_SaveRestore(PTESTINFO pti, HDC hdc, BOOL bMemDC)
+Test_SaveRestore(HDC hdc, BOOL bMemDC)
{
SetSpecialDCState(hdc);
NtGdiSaveDC(hdc);
TEST(NtGdiRestoreDC(hdc, 1) == 1);
TEST(GetLastError() == 0);
- Test_IsSpecialState(pti, hdc, bMemDC);
+ Test_IsSpecialState(hdc, bMemDC);
}
-INT
-Test_NtGdiRestoreDC(PTESTINFO pti)
+START_TEST(NtGdiRestoreDC)
{
HDC hdc;
hdc = CreateCompatibleDC(0);
- ASSERT(IsHandleValid(hdc));
+ ASSERT(GdiIsHandleValid(hdc));
SetLastError(0);
TEST(NtGdiRestoreDC(0, -10) == 0);
/* Initialize objects */
hbrush = CreateSolidBrush(12345);
- ASSERT(IsHandleValid(hbrush));
+ ASSERT(GdiIsHandleValid(hbrush));
hpen = CreatePen(PS_SOLID, 4, RGB(10,12,32));
- ASSERT(IsHandleValid(hpen));
+ ASSERT(GdiIsHandleValid(hpen));
hbitmap = CreateBitmap(10, 10, 1, 1, NULL);
- ASSERT(IsHandleValid(hbitmap));
- hfont = CreateFont(10, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET,
+ ASSERT(GdiIsHandleValid(hbitmap));
+ hfont = CreateFont(10, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET,
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
DEFAULT_PITCH, "Arial");
- ASSERT(IsHandleValid(hfont));
+ ASSERT(GdiIsHandleValid(hfont));
hrgn = CreateRectRgn(12, 14, 14, 17);
- ASSERT(IsHandleValid(hrgn));
+ ASSERT(GdiIsHandleValid(hrgn));
hrgn2 = CreateRectRgn(1, 1, 2, 2);
- ASSERT(IsHandleValid(hrgn2));
+ ASSERT(GdiIsHandleValid(hrgn2));
/* Test mem dc */
- Test_SaveRestore(pti, hdc, TRUE);
+ Test_SaveRestore(hdc, TRUE);
DeleteDC(hdc);
/* Test screen DC */
hdc = GetDC(0);
- ASSERT(IsHandleValid(hdc));
- Test_SaveRestore(pti, hdc, FALSE);
+ ASSERT(GdiIsHandleValid(hdc));
+ Test_SaveRestore(hdc, FALSE);
ReleaseDC(0, hdc);
/* Test info dc */
hdc = CreateICW(L"DISPLAY", NULL, NULL, NULL);
- ASSERT(IsHandleValid(hdc));
- Test_SaveRestore(pti, hdc, FALSE);
+ ASSERT(GdiIsHandleValid(hdc));
+ Test_SaveRestore(hdc, FALSE);
DeleteDC(hdc);
-
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSaveDC
+ * PROGRAMMERS:
+ */
-INT
-Test_NtGdiSaveDC(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtGdiSaveDC)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HDC hdc, hdc2;
HWND hwnd;
HBITMAP hbmp1, hbmp2, hOldBmp;
/* Test info dc */
hdc = CreateICW(L"DISPLAY",NULL,NULL,NULL);
- TEST(hdc);
+ TEST(hdc != NULL);
TEST(NtGdiSaveDC(hdc) == 1);
TEST(NtGdiSaveDC(hdc) == 2);
DeleteDC(hdc);
/* Test display dc */
hdc = GetDC(0);
- TEST(hdc);
+ TEST(hdc != NULL);
TEST(NtGdiSaveDC(hdc) == 1);
TEST(NtGdiSaveDC(hdc) == 2);
ReleaseDC(0, hdc);
/* Test a mem DC */
hdc = CreateCompatibleDC(0);
- TEST(hdc);
+ TEST(hdc != NULL);
TEST(NtGdiSaveDC(hdc) == 1);
TEST(NtGdiSaveDC(hdc) == 2);
DeleteDC(hdc);
/* Create a window */
hwnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
10, 10, 100, 100,
- NULL, NULL, g_hInstance, 0);
+ NULL, NULL, hinst, 0);
hdc = GetDC(hwnd);
- TEST(hdc);
+ TEST(hdc != NULL);
TEST(NtGdiSaveDC(hdc) == 1);
NtGdiRestoreDC(hdc, 1);
ReleaseDC(hwnd, hdc);
DestroyWindow(hwnd);
-
+
/* test behaviour when a bitmap is selected */
hbmp1 = CreateBitmap(2, 2, 1, 1, NULL);
- TEST(hbmp1);
+ TEST(hbmp1 != NULL);
hbmp2 = CreateBitmap(2, 2, 1, 1, NULL);
- TEST(hbmp2);
+ TEST(hbmp2 != NULL);
hdc = CreateCompatibleDC(0);
- TEST(hdc);
+ TEST(hdc != NULL);
hdc2 = CreateCompatibleDC(0);
- TEST(hdc2);
+ TEST(hdc2 != NULL);
hOldBmp = SelectObject(hdc, hbmp1);
- TEST(hOldBmp);
+ TEST(hOldBmp != NULL);
TEST(NtGdiSaveDC(hdc) == 1);
TEST(SelectObject(hdc, hbmp2) == hbmp1);
TEST(SelectObject(hdc2, hbmp1) == NULL);
DeleteObject(hbmp1);
DeleteObject(hbmp2);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSelectBitmap
+ * PROGRAMMERS:
+ */
-INT
-Test_SelectDIBSection(PTESTINFO pti)
+#include <win32nt.h>
+
+void
+Test_SelectDIBSection(void)
{
HDC hdc;
HBITMAP hbmp;
struct
{
BITMAPINFOHEADER bmiHeader;
- RGBQUAD bmiColors[100];
+ RGBQUAD bmiColors[100];
} bmi;
PBITMAPINFO pbmi = (PBITMAPINFO)&bmi;
PVOID pvBits;
TEST(NtGdiSelectBitmap(hdc, hbmp) != 0);
- return 0;
}
-INT
-Test_NtGdiSelectBitmap(PTESTINFO pti)
+START_TEST(NtGdiSelectBitmap)
{
HDC hDC;
HBITMAP hBmp, hOldBmp;
DeleteObject(hBmp);
DeleteDC(hDC);
- Test_SelectDIBSection(pti);
+ Test_SelectDIBSection();
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiSelectBrush(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSelectBrush
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiSelectBrush)
{
HDC hDC;
HBRUSH hBrush, hOldBrush;
/* Begin with a white brush */
NtGdiSelectBrush(hDC, GetStockObject(WHITE_BRUSH));
- pdcattr = GetHandleUserData(hDC);
+ pdcattr = GdiGetHandleUserData(hDC);
/* Change the brush in user mode, without setting flags */
pdcattr->hbrush = (HBRUSH)12345;
DeleteDC(hDC);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiSelectFont(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSelectFont
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiSelectFont)
{
HDC hDC;
HFONT hFont, hOldFont;
DeleteDC(hDC);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiSelectPen(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSelectPen
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiSelectPen)
{
HDC hDC;
HPEN hPen, hOldPen;
/* Test that fallback pen is BLACK_PEN */
DeleteDC(hDC);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_NtGdiSetBitmapBits(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSetBitmapBits
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtGdiSetBitmapBits)
{
BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
HBITMAP hBitmap;
RTEST(GetLastError() == ERROR_SUCCESS);
DeleteObject(hBitmap);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtGdiSetDIBitsToDeviceInternal
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
void
ReadBits(HDC hDC, PDWORD OutBits)
}
-INT
-Test_NtGdiSetDIBitsToDeviceInternal(PTESTINFO pti)
+START_TEST(NtGdiSetDIBitsToDeviceInternal)
{
static const DWORD InBits[8] = { 0x81, 0x7E, 0x5A, 0x7E, 0x7E, 0x42, 0x7E, 0x81 };
DWORD OutBits[8];
ReleaseDC(hWnd, hDC);
DestroyWindow(hWnd);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallHwnd
+ * PROGRAMMERS:
+ */
-INT
-Test_HwndRoutine_DeregisterShellHookWindow(PTESTINFO pti, HWND hWnd)
+#include <win32nt.h>
+
+void
+Test_HwndRoutine_DeregisterShellHookWindow(HWND hWnd)
{
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW) == TRUE);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndRoutine_GetWindowContextHelpId (PTESTINFO pti, HWND hWnd)
+void
+Test_HwndRoutine_GetWindowContextHelpId (HWND hWnd)
{
TEST(NtUserCallHwndParam(hWnd, 0xbadb00b, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_GETWNDCONTEXTHLPID) == 0xbadb00b);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndRoutine_SetMsgBox(PTESTINFO pti, HWND hWnd)
+void
+Test_HwndRoutine_SetMsgBox(HWND hWnd)
{
TEST(NtUserCallHwnd(hWnd, 0x49) != FALSE);
- return APISTATUS_NORMAL;
-}
+}
-INT
-Test_NtUserCallHwnd(PTESTINFO pti)
+START_TEST(NtUserCallHwnd)
{
HWND hWnd;
SetLastError(ERROR_SUCCESS);
TEST(NtUserCallHwnd(hWnd, 0x44) == FALSE);
- Test_HwndRoutine_DeregisterShellHookWindow(pti, hWnd); /* 0x45 */
+ Test_HwndRoutine_DeregisterShellHookWindow(hWnd); /* 0x45 */
TEST(NtUserCallHwnd(hWnd, 0x46) == FALSE); // DWP_GetEnabledPopup
- Test_HwndRoutine_GetWindowContextHelpId (pti, hWnd); /* 0x47 */
+ Test_HwndRoutine_GetWindowContextHelpId (hWnd); /* 0x47 */
TEST(NtUserCallHwnd(hWnd, 0x48) == TRUE);
- Test_HwndRoutine_SetMsgBox(pti, hWnd); /* 0x49 */
+ Test_HwndRoutine_SetMsgBox(hWnd); /* 0x49 */
TEST(GetLastError() == ERROR_SUCCESS);
DestroyWindow(hWnd);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallHwndLock
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+
HMENU g_hMenu;
-INT
-Test_HwndLockRoutine_WindowHasShadow (PTESTINFO pti, HWND hWnd) /* 0x53 */
+void
+Test_HwndLockRoutine_WindowHasShadow(HWND hWnd) /* 0x53 */
{
// TEST(NtUserCallHwndLock(hWnd, 0x53) == 0);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndLockRoutine_ArrangeIconicWindows(PTESTINFO pti, HWND hWnd) /* 0x54 */
+void
+Test_HwndLockRoutine_ArrangeIconicWindows(HWND hWnd) /* 0x54 */
{
// TEST(NtUserCallHwndLock(hWnd, _HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS) == 0);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndLockRoutine_DrawMenuBar(PTESTINFO pti, HWND hWnd) /* 0x55 */
+void
+Test_HwndLockRoutine_DrawMenuBar(HWND hWnd) /* 0x55 */
{
TEST(NtUserCallHwndLock(hWnd, 0x55) == 1);
return APISTATUS_NORMAL;
}
-INT
-Test_HwndLockRoutine_CheckImeShowStatusInThread(PTESTINFO pti, HWND hWnd) /* 0x56 */
+void
+Test_HwndLockRoutine_CheckImeShowStatusInThread(HWND hWnd) /* 0x56 */
{
TEST(NtUserCallHwndLock(hWnd, 0x56) != 0);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndLockRoutine_GetSysMenuHandle(PTESTINFO pti, HWND hWnd) /* 0x57 */
+void
+Test_HwndLockRoutine_GetSysMenuHandle(HWND hWnd) /* 0x57 */
{
NtUserCallHwndLock(hWnd, 0x5c);
// HMENU hMenu = (HMENU)NtUserCallHwndLock(hWnd, 0x57);
// TEST(hMenu != 0);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndLockRoutine_RedrawFrame(PTESTINFO pti, HWND hWnd) /* 0x58 */
+void
+Test_HwndLockRoutine_RedrawFrame(HWND hWnd) /* 0x58 */
{
// TEST(NtUserCallHwndLock(hWnd, 0x68) != 0);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_HwndLockRoutine_UpdateWindow(PTESTINFO pti, HWND hWnd) /* 0x5e */
+void
+Test_HwndLockRoutine_UpdateWindow(HWND hWnd) /* 0x5e */
{
TEST(NtUserCallHwndLock(hWnd, 0x5e) == 1);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_NtUserCallHwndLock(PTESTINFO pti)
+START_TEST(NtUserCallHwndLock)
{
HWND hWnd;
g_hMenu = CreateMenu();
TEST(NtUserCallHwndLock(hWnd, 999) == 0);
TEST(GetLastError() == ERROR_SUCCESS);
- Test_HwndLockRoutine_WindowHasShadow (pti, hWnd); /* 0x53 */
- Test_HwndLockRoutine_ArrangeIconicWindows(pti, hWnd);
- Test_HwndLockRoutine_DrawMenuBar(pti, hWnd);
- Test_HwndLockRoutine_CheckImeShowStatusInThread(pti, hWnd);
- Test_HwndLockRoutine_GetSysMenuHandle(pti, hWnd);
- Test_HwndLockRoutine_RedrawFrame(pti, hWnd);
+ Test_HwndLockRoutine_WindowHasShadow (hWnd); /* 0x53 */
+ Test_HwndLockRoutine_ArrangeIconicWindows(hWnd);
+ Test_HwndLockRoutine_DrawMenuBar(hWnd);
+ Test_HwndLockRoutine_CheckImeShowStatusInThread(hWnd);
+ Test_HwndLockRoutine_GetSysMenuHandle(hWnd);
+ Test_HwndLockRoutine_RedrawFrame(hWnd);
- Test_HwndLockRoutine_UpdateWindow(pti, hWnd);
+ Test_HwndLockRoutine_UpdateWindow(hWnd);
DestroyWindow(hWnd);
- return APISTATUS_NORMAL;
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallHwndOpt
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+void
+Test_HwndOptRoutine_SetProgmanWindow(void) /* 0x4a */
+{
+// NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETPROGMANWINDOW);
+}
+
+void
+Test_HwndOptRoutine_SetTaskmanWindow (void) /* 0x4b */
+{
+// NtUserCallHwndOpt(hWnd, HWNDOPT_ROUTINE_SETTASKMANWINDOW);
+}
+
+START_TEST(NtUserCallHwndOpt)
+{
+
+ Test_HwndOptRoutine_SetProgmanWindow(pti); /* 0x4a */
+ Test_HwndOptRoutine_SetTaskmanWindow (pti); /* 0x4b */
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallHwndParam
+ * PROGRAMMERS:
+ */
-INT
-Test_HwndParamRoutine_SetWindowContextHelpId (PTESTINFO pti, HWND hWnd)
+#include <win32nt.h>
+
+void
+Test_HwndParamRoutine_SetWindowContextHelpId(HWND hWnd)
{
TEST(NtUserCallHwndParam(hWnd, 12345, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
- TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_GETWNDCONTEXTHLPID) == 12345);
- return APISTATUS_NORMAL;
+ TEST(NtUserCallHwnd(hWnd, HWND_ROUTINE_GETWNDCONTEXTHLPID) == 12345);
}
-
-INT
-Test_NtUserCallHwndParam(PTESTINFO pti)
+START_TEST(NtUserCallHwndParam)
{
HWND hWnd;
0);
ASSERT(hWnd);
- Test_HwndParamRoutine_SetWindowContextHelpId (pti, hWnd);
+ Test_HwndParamRoutine_SetWindowContextHelpId(hWnd);
DestroyWindow(hWnd);
-
- return APISTATUS_NORMAL;
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallHwndParamLock
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserCallHwndParamLock)
+{
+
+}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallNoParam
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+void
+Test_NoParamRoutine_CreateMenu(void) /* 0 */
+{
+ HMENU hMenu;
+
+ hMenu = (HMENU)NtUserCallNoParam(_NOPARAM_ROUTINE_CREATEMENU);
+ TEST(IsMenu(hMenu) == TRUE);
+ DestroyMenu(hMenu);
+
+}
+
+void
+Test_NoParamRoutine_CreatePopupMenu(void) /* 1 */
+{
+ HMENU hMenu;
+
+ hMenu = (HMENU)NtUserCallNoParam(_NOPARAM_ROUTINE_CREATEMENUPOPUP);
+ TEST(IsMenu(hMenu) == TRUE);
+ DestroyMenu(hMenu);
+
+}
+
+void
+Test_NoParamRoutine_DisableProcessWindowsGhosting(void) /* 2 */
+{
+
+}
+
+void
+Test_NoParamRoutine_ClearWakeMask(void) /* 3 */
+{
+
+}
+
+void
+Test_NoParamRoutine_AllowForegroundActivation(void) /* 4 */
+{
+
+}
+
+void
+Test_NoParamRoutine_DestroyCaret(void) /* 5 */
+{
+
+}
+
+void
+Test_NoParamRoutine_LoadUserApiHook(void) /* 0x1d */
+{
+ //DWORD dwRet;
+ /* dwRet = */NtUserCallNoParam(_NOPARAM_ROUTINE_LOADUSERAPIHOOK);
+
+// TEST(dwRet != 0);
+
+}
+
+
+START_TEST(NtUserCallNoParam)
+{
+ Test_NoParamRoutine_CreateMenu();
+ Test_NoParamRoutine_CreatePopupMenu();
+ Test_NoParamRoutine_LoadUserApiHook(); /* 0x1d */
+
+ return APISTATUS_NORMAL;
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCallOneParam
+ * PROGRAMMERS:
+ */
-INT
-Test_OneParamRoutine_BeginDeferWindowPos(PTESTINFO pti) /* 0x1e */
+#include <win32nt.h>
+
+
+
+void
+Test_OneParamRoutine_BeginDeferWindowPos(void) /* 0x1e */
{
HDWP hWinPosInfo;
TEST(hWinPosInfo != 0);
TEST(EndDeferWindowPos(hWinPosInfo) != 0);
- return APISTATUS_NORMAL;
}
-INT
-Test_OneParamRoutine_WindowFromDC(PTESTINFO pti) /* 0x1f */
+void
+Test_OneParamRoutine_WindowFromDC(void) /* 0x1f */
{
HDC hDC = GetDC(NULL);
HWND hWnd;
TEST(IsWindow(hWnd));
TEST(hWnd == GetDesktopWindow());
- return APISTATUS_NORMAL;
}
-INT
-Test_OneParamRoutine_CreateEmptyCurObject(PTESTINFO pti) /* XP/2k3 : 0x21, vista 0x25 */
+void
+Test_OneParamRoutine_CreateEmptyCurObject(void) /* XP/2k3 : 0x21, vista 0x25 */
{
HICON hIcon ;
TEST(NtUserDestroyCursor(hIcon, 0xbaadf00d) == TRUE);
- return APISTATUS_NORMAL;
}
-INT
-Test_OneParamRoutine_MapDesktopObject(PTESTINFO pti) /* 0x30 */
+void
+Test_OneParamRoutine_MapDesktopObject(void) /* 0x30 */
{
DWORD pObject;
HWND hWnd;
hMenu = CreateMenu();
pObject = NtUserCallOneParam((DWORD)hMenu, _ONEPARAM_ROUTINE_MAPDEKTOPOBJECT);
- DestroyMenu(hMenu);
+ DestroyMenu(hMenu);
TEST(pObject > 0);
TEST(pObject < 0x80000000);
- return APISTATUS_NORMAL;
}
-INT
-Test_OneParamRoutine_SwapMouseButtons(PTESTINFO pti) /* 0x42 */
+void
+Test_OneParamRoutine_SwapMouseButtons(void) /* 0x42 */
{
BOOL bInverse;
TEST(bInverse == FALSE);
// TODO: test other values
- return APISTATUS_NORMAL;
}
-INT
-Test_NtUserCallOneParam(PTESTINFO pti)
+START_TEST(NtUserCallOneParam)
{
- Test_OneParamRoutine_BeginDeferWindowPos(pti); /* 0x1e */
- Test_OneParamRoutine_WindowFromDC(pti); /* 0x1f */
- Test_OneParamRoutine_CreateEmptyCurObject(pti); /* XP/2k3 : 0x21, vista 0x25 */
- Test_OneParamRoutine_MapDesktopObject(pti); /* 0x30 */
-
- Test_OneParamRoutine_SwapMouseButtons(pti); /* 0x42 */
-
- return APISTATUS_NORMAL;
+ Test_OneParamRoutine_BeginDeferWindowPos(); /* 0x1e */
+ Test_OneParamRoutine_WindowFromDC(); /* 0x1f */
+ Test_OneParamRoutine_CreateEmptyCurObject(); /* XP/2k3 : 0x21, vista 0x25 */
+ Test_OneParamRoutine_MapDesktopObject(); /* 0x30 */
+ Test_OneParamRoutine_SwapMouseButtons(); /* 0x42 */
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserCountClipboardFormats
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+
+START_TEST(NtUserCountClipboardFormats)
+{
+ RTEST(NtUserCountClipboardFormats() < 1000);
+}
+
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserEnumDisplayMonitors
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
ULONG gMonitorCount = 0;
HDC ghdcMonitor = 0;
return TRUE;
}
-INT
-Test_NtUserEnumDisplayMonitors(PTESTINFO pti)
+START_TEST(NtUserEnumDisplayMonitors)
{
BOOL ret;
// WILL crash!
// TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
- ret = NtUserEnumDisplayMonitors1(0, NULL, MonitorEnumProc, 0);
+ ret = NtUserEnumDisplayMonitors(0, NULL, MonitorEnumProc, 0);
TEST(ret == TRUE);
TEST(gMonitorCount > 0);
TEST(ghdcMonitor == 0);
TEST(grcMonitor.top == 0);
TEST(grcMonitor.bottom > 0);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserEnumDisplaySettings
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+
static struct
{
CHAR buffer[0xffff];
} data;
-INT
-TEST_NtUserEnumDisplaySettings(PTESTINFO pti)
+START_TEST(NtUserEnumDisplaySettings)
{
UNICODE_STRING usDeviceName;
WCHAR szName[] = L"DISPLAY";
TEST(Status == STATUS_INVALID_PARAMETER_1);
usDeviceName.Buffer = szName;
- usDeviceName.Length = wcslen(szName);
+ usDeviceName.Length = (USHORT)wcslen(szName);
usDeviceName.MaximumLength = usDeviceName.Length;
Status = NtUserEnumDisplaySettings(&usDeviceName, ENUM_CURRENT_SETTINGS, (DEVMODEW*)&data, 0);
TEST(Status == STATUS_INVALID_PARAMETER_1);
TEST(GetLastError() == ERROR_SUCCESS);
- return APISTATUS_NORMAL;
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserFindExistingCursoricon
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserFindExistingCursoricon)
+{
+
+
+}
+
-BOOL
-NTAPI
-NtUserGetClassInfo2(
- HINSTANCE hInstance,
- PUNICODE_STRING ClassName,
- LPWNDCLASSEXW wcex,
- LPWSTR *ppwstr,
- BOOL Ansi)
-{
- return (BOOL)Syscall(L"NtUserGetClassInfo", 5, &hInstance);
-}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserGetClassInfo
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
-INT
-Test_NtUserGetClassInfo(PTESTINFO pti)
+START_TEST(NtUserGetClassInfo)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
WNDCLASSEXW wclex, wclex2 = {0};
UNICODE_STRING us;
PWSTR pwstr = NULL;
wclex.lpfnWndProc = NULL;
wclex.cbClsExtra = 2;
wclex.cbWndExtra = 4;
- wclex.hInstance = g_hInstance;
+ wclex.hInstance = hinst;
wclex.hIcon = NULL;
wclex.hCursor = NULL;
wclex.hbrBackground = CreateSolidBrush(RGB(4,7,5));
ASSERT(RegisterClassExW(&wclex) != 0);
- TEST(GetClassInfoExW(g_hInstance, us.Buffer, &wclex) != 0);
+ TEST(GetClassInfoExW(hinst, us.Buffer, &wclex) != 0);
wclex2.cbSize = sizeof(WNDCLASSEXW);
- TEST(NtUserGetClassInfo2(g_hInstance, &us, &wclex2, &pwstr, 0) != 0);
+ TEST(NtUserGetClassInfo(hinst, &us, &wclex2, &pwstr, 0) != 0);
TEST(pwstr == wclex.lpszMenuName);
TEST(wclex2.cbSize == wclex.cbSize);
TEST(wclex2.lpszClassName == 0);
TEST(wclex2.hIconSm == wclex.hIconSm);
- return APISTATUS_NORMAL;
}
-INT
-Test_NtUserGetIconInfo(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserGetIconInfo
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserGetIconInfo)
{
HICON hIcon;
ICONINFO iinfo;
&ResourceStr,
&bpp,
FALSE) == TRUE);
-
+
TESTX(hInstStr.Buffer == NULL, "hInstStr.buffer : %p\n", hInstStr.Buffer);
TEST((LPCTSTR)ResourceStr.Buffer == MAKEINTRESOURCE(IDI_ICON));
TEST(bpp == 32);
&ResourceStr,
&bpp,
FALSE) == TRUE);
-
+
TEST(hInstStr.Length != 0);
hInstStr.Buffer[hInstStr.Length] = 0;
printf("%s,%i: hInstStr.buffer : %S\n", __FUNCTION__, __LINE__, hInstStr.Buffer);
&ResourceStr,
&bpp,
TRUE) == TRUE);
-
+
TEST(hInstStr.Length != 0);
hInstStr.Buffer[hInstStr.Length] = 0;
printf("%s,%i: hInstStr.buffer : %S\n", __FUNCTION__, __LINE__, hInstStr.Buffer);
DestroyIcon(hIcon);
- return APISTATUS_NORMAL;
-}
\ No newline at end of file
+}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserGetTitleBarInfo
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserGetTitleBarInfo)
+{
+ HINSTANCE hinst = GetModuleHandle(NULL);
+ HWND hWnd;
+ TITLEBARINFO tbi;
+
+ hWnd = CreateWindowA("BUTTON",
+ "Test",
+ BS_PUSHBUTTON | WS_VISIBLE,
+ 0,
+ 0,
+ 50,
+ 30,
+ NULL,
+ NULL,
+ hinst,
+ 0);
+
+ ASSERT(hWnd);
+
+ /* FALSE case */
+ /* no windows handle */
+ TEST(NtUserGetTitleBarInfo(NULL, &tbi) == FALSE);
+ /* no TITLEBARINFO struct */
+ TEST(NtUserGetTitleBarInfo(hWnd, NULL) == FALSE);
+ /* nothing */
+ TEST(NtUserGetTitleBarInfo(NULL, NULL) == FALSE);
+ /* wrong size */
+ tbi.cbSize = 0;
+ TEST(NtUserGetTitleBarInfo(hWnd, &tbi) == FALSE);
+
+ /* TRUE case */
+ tbi.cbSize = sizeof(TITLEBARINFO);
+ TEST(NtUserGetTitleBarInfo(hWnd, &tbi) == TRUE);
+
+ DestroyWindow(hWnd);
+
+}
+
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserProcessConnect
+ * PROGRAMMERS:
+ */
-INT
-Test_NtUserProcessConnect(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtUserProcessConnect)
{
HANDLE hProcess;
NTSTATUS Status;
UserConnect.ulVersion = MAKELONG(0, 5);
Status = NtUserProcessConnect(hProcess, (USERCONNECT*)&UserConnect, sizeof(USERCONNECT));
TEST(NT_SUCCESS(Status));
-
+
printf("UserConnect.ulVersion = 0x%lx\n", UserConnect.ulVersion);
printf("UserConnect.ulCurrentVersion = 0x%lx\n", UserConnect.ulCurrentVersion);
printf("UserConnect.dwDispatchCount = 0x%lx\n", UserConnect.dwDispatchCount);
printf("UserConnect.siClient.pDispInfo = 0x%p\n", UserConnect.siClient.pDispInfo);
printf("UserConnect.siClient.ulSharedDelta = 0x%lx\n", UserConnect.siClient.ulSharedDelta);
- return APISTATUS_NORMAL;
}
-INT
-Test_NtUserRedrawWindow(PTESTINFO pti)
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserRedrawWindow
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserRedrawWindow)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HWND hWnd;
RECT rect;
30,
NULL,
NULL,
- g_hInstance,
+ hinst,
0);
ASSERT(hWnd);
DestroyWindow(hWnd);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserScrollDC
+ * PROGRAMMERS:
+ */
+#include <win32nt.h>
-INT
-Test_NtUserScrollDC(PTESTINFO pti)
+START_TEST(NtUserScrollDC)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HWND hWnd;
HDC hDC;
HRGN hRgn, hTmpRgn;
100,
NULL,
NULL,
- g_hInstance,
+ hinst,
0);
ASSERT(hWnd);
RedrawWindow(hWnd, &rect, NULL, RDW_UPDATENOW);
DestroyWindow(hWnd);
DeleteObject(hRgn);
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserSelectPalette
+ * PROGRAMMERS:
+ */
+#include <win32nt.h>
FORCEINLINE
PALETTEENTRY
return ret;
}
-INT
-Test_NtUserSelectPalette(PTESTINFO pti)
+START_TEST(NtUserSelectPalette)
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
HPALETTE hPal, hOldPal;
HWND hWnd;
HDC hDC, hCompDC;
hPal = CreatePalette(&pal.logpal);
ASSERT(hPal);
- TEST(DeletePalette(hPal) == 1);
+ TEST(DeleteObject(hPal) == 1);
hPal = CreatePalette(&pal.logpal);
ASSERT(hPal);
/* Create a window */
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
- NULL, NULL, g_hInstance, 0);
+ NULL, NULL, hinst, 0);
hDC = GetDC(hWnd);
ASSERT(hDC);
hCompDC = CreateCompatibleDC(hDC);
TEST(hOldPal == GetStockObject(DEFAULT_PALETTE));
/* We cannot Delete the palette */
- TEST(DeletePalette(hPal) == 0);
+ TEST(DeleteObject(hPal) == 0);
/* We can still select the Palette into a compatible DC */
hOldPal = NtUserSelectPalette(hCompDC, hPal, 0);
printf("nearest = 0x%x\n", GetNearestColor(hCompDC, RGB(120,100,110)));
#endif
-
- return APISTATUS_NORMAL;
}
--- /dev/null
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserSetTimer
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+START_TEST(NtUserSetTimer)
+{
+
+
+ // check valid argument
+ // check for replacement / new timers
+ // check when expiries are handled (msgs and calls)
+
+}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserSystemParametersInfo
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
static const WCHAR* KEY_MOUSE = L"Control Panel\\Mouse";
//static const WCHAR* VAL_MOUSE1 = L"MouseThreshold1";
HWND
CreateTestWindow()
{
+ HINSTANCE hinst = GetModuleHandle(NULL);
WNDCLASSA wc;
wc.style = 0;
wc.lpfnWndProc = DefWindowProcA;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
- wc.hInstance = g_hInstance;
+ wc.hInstance = hinst;
wc.hIcon = NULL;
wc.hCursor = NULL;
wc.hbrBackground = NULL;
30,
NULL,
NULL,
- g_hInstance,
+ hinst,
0);
}
void
-Test_NtUserSystemParametersInfo_Params(PTESTINFO pti)
+Test_NtUserSystemParametersInfo_Params(void)
{
// UINT uint;
DWORD data[1000];
}
void
-Test_NtUserSystemParametersInfo_Winsta(PTESTINFO pti)
+Test_NtUserSystemParametersInfo_Winsta(void)
{
HWINSTA hwinsta, hwinstaOld;
INT ai[20];
}
void
-Test_NtUserSystemParametersInfo_fWinIni(PTESTINFO pti)
+Test_NtUserSystemParametersInfo_fWinIni(void)
{
ACCESSTIMEOUT ato;
// UINT uFocusBorderHeight;
}
void
-Test_MetricKey(PTESTINFO pti, PCWSTR pwszVal, INT iVal)
+Test_MetricKey(PCWSTR pwszVal, INT iVal)
{
WCHAR szReg[10];
DWORD cbSize;
}
-INT
-Test_UserPref(PTESTINFO pti, UINT uiGet, UINT uiSet, DWORD dwPrefMask)
+void
+Test_UserPref(UINT uiGet, UINT uiSet, DWORD dwPrefMask)
{
BOOL bOrig, bTemp = 0;
DWORD dwUserPref, dwUserPrefOrg;
/* Restore original value */
NtUserSystemParametersInfo(uiSet, 0, (PVOID)bOrig, SPIF_UPDATEINIFILE);
- return APISTATUS_NORMAL;
+
}
/******************************************************************************/
void
-Test_SPI_SETBEEP(PTESTINFO pti)
+Test_SPI_SETBEEP(void)
{
BOOL bOrig, bTemp = 0;
WCHAR szReg[10];
}
void
-Test_SPI_SETMOUSE(PTESTINFO pti)
+Test_SPI_SETMOUSE(void)
{
INT aiOrig[3], aiTemp[3];
}
void
-Test_SPI_SETBORDER(PTESTINFO pti)
+Test_SPI_SETBORDER(void)
{
INT iOrig, iTemp = 0;
}
-// Test_SPI_SETKEYBOARDSPEED(pti);
-// Test_SPI_LANGDRIVER(pti);
-// Test_SPI_ICONHORIZONTALSPACING(pti);
-// Test_SPI_SETSCREENSAVETIMEOUT(pti);
-// Test_SPI_SETSCREENSAVEACTIVE(pti);
-// Test_SPI_SETGRIDGRANULARITY(pti);
+// Test_SPI_SETKEYBOARDSPEED();
+// Test_SPI_LANGDRIVER();
+// Test_SPI_ICONHORIZONTALSPACING();
+// Test_SPI_SETSCREENSAVETIMEOUT();
+// Test_SPI_SETSCREENSAVEACTIVE();
+// Test_SPI_SETGRIDGRANULARITY();
void
-Test_SPI_SETDESKWALLPAPER(PTESTINFO pti)
+Test_SPI_SETDESKWALLPAPER(void)
{
UNICODE_STRING ustrOld, ustrNew;
WCHAR szOld[MAX_PATH];
}
-// Test_SPI_SETDESKPATTERN(pti);
-// Test_SPI_SETKEYBOARDDELAY(pti);
-// Test_SPI_ICONVERTICALSPACING(pti);
-// Test_SPI_SETICONTITLEWRAP(pti);
-// Test_SPI_SETMENUDROPALIGNMENT(pti);
-// Test_SPI_SETDOUBLECLKWIDTH(pti);
-// Test_SPI_SETDOUBLECLKHEIGHT(pti);
-// Test_SPI_SETDOUBLECLICKTIME(pti);
-
-INT
-Test_SPI_SETMOUSEBUTTONSWAP(PTESTINFO pti)
+// Test_SPI_SETDESKPATTERN();
+// Test_SPI_SETKEYBOARDDELAY();
+// Test_SPI_ICONVERTICALSPACING();
+// Test_SPI_SETICONTITLEWRAP();
+// Test_SPI_SETMENUDROPALIGNMENT();
+// Test_SPI_SETDOUBLECLKWIDTH();
+// Test_SPI_SETDOUBLECLKHEIGHT();
+// Test_SPI_SETDOUBLECLICKTIME();
+
+void
+Test_SPI_SETMOUSEBUTTONSWAP(void)
{
BOOL bOrig, bTemp = 0;
WCHAR szReg[10];
/* Restore original value */
NtUserSystemParametersInfo(SPI_SETMOUSEBUTTONSWAP, bOrig, 0, SPIF_UPDATEINIFILE);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETICONTITLELOGFONT(PTESTINFO pti)
+void
+Test_SPI_SETICONTITLELOGFONT(void)
{
LOGFONTW lfOrig;
struct
/* Test uiParam < 0 */
TEST(NtUserSystemParametersInfo(SPI_GETICONTITLELOGFONT, -1, &buf.lf, 0) == 1);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETFASTTASKSWITCH(PTESTINFO pti)
+void
+Test_SPI_SETFASTTASKSWITCH(void)
{
char buf[10];
TEST(NtUserSystemParametersInfo(SPI_SETFASTTASKSWITCH, 0, 0, 0) == 1);
TEST(NtUserSystemParametersInfo(SPI_SETFASTTASKSWITCH, 0, buf, 0) == 1);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETDRAGFULLWINDOWS(PTESTINFO pti)
+void
+Test_SPI_SETDRAGFULLWINDOWS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETNONCLIENTMETRICS(PTESTINFO pti)
+void
+Test_SPI_SETNONCLIENTMETRICS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETMINIMIZEDMETRICS(PTESTINFO pti)
+void
+Test_SPI_SETMINIMIZEDMETRICS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETICONMETRICS(PTESTINFO pti)
+void
+Test_SPI_SETICONMETRICS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETWORKAREA(PTESTINFO pti)
+void
+Test_SPI_SETWORKAREA(void)
{
RECT rcOrig, rc;
/* Restore original value */
ASSERT(NtUserSystemParametersInfo(SPI_SETWORKAREA, 0, &rcOrig, 0) == 1);
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETPENWINDOWS(PTESTINFO pti)
+void
+Test_SPI_SETPENWINDOWS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETFILTERKEYS(PTESTINFO pti)
+void
+Test_SPI_SETFILTERKEYS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETTOGGLEKEYS(PTESTINFO pti)
+void
+Test_SPI_SETTOGGLEKEYS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETMOUSEKEYS(PTESTINFO pti)
+void
+Test_SPI_SETMOUSEKEYS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETSHOWSOUNDS(PTESTINFO pti)
+void
+Test_SPI_SETSHOWSOUNDS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETSTICKYKEYS(PTESTINFO pti)
+void
+Test_SPI_SETSTICKYKEYS(void)
{
STICKYKEYS skOrig, sk;
skOrig.cbSize = sizeof(STICKYKEYS);
ASSERT(NtUserSystemParametersInfo(SPI_SETSTICKYKEYS, 0, &skOrig, 0) == 1);
- return APISTATUS_NORMAL;
}
-INT
-Test_SPI_SETACCESSTIMEOUT(PTESTINFO pti)
+void
+Test_SPI_SETACCESSTIMEOUT(void)
{
ACCESSTIMEOUT atoOrig, atoTmp;
/* Restore original values */
ASSERT(NtUserSystemParametersInfo(SPI_SETACCESSTIMEOUT, sizeof(atoOrig), &atoOrig, 0) == 1);
-
- return APISTATUS_NORMAL;
}
-INT
-Test_SPI_SETSERIALKEYS(PTESTINFO pti)
+void
+Test_SPI_SETSERIALKEYS(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETSOUNDSENTRY(PTESTINFO pti)
+void
+Test_SPI_SETSOUNDSENTRY(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETHIGHCONTRAST(PTESTINFO pti)
+void
+Test_SPI_SETHIGHCONTRAST(void)
{
- return APISTATUS_NORMAL;
+
}
-INT
-Test_SPI_SETKEYBOARDPREF(PTESTINFO pti)
+void
+Test_SPI_SETKEYBOARDPREF(void)
{
- return APISTATUS_NORMAL;
+
}
-// Test_SPI_SETSCREENREADER(pti);
-/// Test_SPI_SETANIMATION(pti);
-// Test_SPI_SETFONTSMOOTHING(pti);
-// Test_SPI_SETDRAGWIDTH(pti);
-// Test_SPI_SETDRAGHEIGHT(pti);
-// Test_SPI_SETHANDHELD(pti);
-// Test_SPI_SETLOWPOWERTIMEOUT(pti);
-// Test_SPI_SETPOWEROFFTIMEOUT(pti);
-// Test_SPI_SETLOWPOWERACTIVE(pti);
-// Test_SPI_SETPOWEROFFACTIVE(pti);
-// Test_SPI_SETCURSORS(pti);
-// Test_SPI_SETICONS(pti);
-// Test_SPI_SETDEFAULTINPUTLANG(pti);
-// Test_SPI_SETLANGTOGGLE(pti);
-// Test_SPI_GETWINDOWSEXTENSION(pti);
-// Test_SPI_SETMOUSETRAILS(pti);
-// Test_SPI_SETSNAPTODEFBUTTON(pti);
-// Test_SPI_GETSCREENSAVERRUNNING(pti);
-// Test_SPI_SETMOUSEHOVERWIDTH(pti);
-// Test_SPI_SETMOUSEHOVERHEIGHT(pti);
-// Test_SPI_SETMOUSEHOVERTIME(pti);
-// Test_SPI_SETWHEELSCROLLLINES(pti);
-// Test_SPI_SETMENUSHOWDELAY(pti);
-// Test_SPI_SETWHEELSCROLLCHARS(pti);
-// Test_SPI_SETSHOWIMEUI(pti);
-// Test_SPI_SETMOUSESPEED(pti);
-// Test_SPI_GETSCREENSAVERRUNNING(pti);
-// Test_SPI_SETAUDIODESCRIPTION(pti);
-// Test_SPI_SETSCREENSAVESECURE(pti);
-// Test_SPI_SETACTIVEWINDOWTRACKING(pti);
-
-INT
-Test_SPI_SETMENUANIMATION(PTESTINFO pti)
+// Test_SPI_SETSCREENREADER();
+/// Test_SPI_SETANIMATION();
+// Test_SPI_SETFONTSMOOTHING();
+// Test_SPI_SETDRAGWIDTH();
+// Test_SPI_SETDRAGHEIGHT();
+// Test_SPI_SETHANDHELD();
+// Test_SPI_SETLOWPOWERTIMEOUT();
+// Test_SPI_SETPOWEROFFTIMEOUT();
+// Test_SPI_SETLOWPOWERACTIVE();
+// Test_SPI_SETPOWEROFFACTIVE();
+// Test_SPI_SETCURSORS();
+// Test_SPI_SETICONS();
+// Test_SPI_SETDEFAULTINPUTLANG();
+// Test_SPI_SETLANGTOGGLE();
+// Test_SPI_GETWINDOWSEXTENSION();
+// Test_SPI_SETMOUSETRAILS();
+// Test_SPI_SETSNAPTODEFBUTTON();
+// Test_SPI_GETSCREENSAVERRUNNING();
+// Test_SPI_SETMOUSEHOVERWIDTH();
+// Test_SPI_SETMOUSEHOVERHEIGHT();
+// Test_SPI_SETMOUSEHOVERTIME();
+// Test_SPI_SETWHEELSCROLLLINES();
+// Test_SPI_SETMENUSHOWDELAY();
+// Test_SPI_SETWHEELSCROLLCHARS();
+// Test_SPI_SETSHOWIMEUI();
+// Test_SPI_SETMOUSESPEED();
+// Test_SPI_GETSCREENSAVERRUNNING();
+// Test_SPI_SETAUDIODESCRIPTION();
+// Test_SPI_SETSCREENSAVESECURE();
+// Test_SPI_SETACTIVEWINDOWTRACKING();
+
+void
+Test_SPI_SETMENUANIMATION(void)
{
BOOL bOrig, bTemp = 0;
DWORD dwUserPrefMask;
/* Restore original values */
NtUserSystemParametersInfo(SPI_SETMENUANIMATION, 0, (PVOID)bOrig, SPIF_UPDATEINIFILE);
-
- return APISTATUS_NORMAL;
}
-// Test_SPI_SETCOMBOBOXANIMATION(pti);
-// Test_SPI_SETLISTBOXSMOOTHSCROLLING(pti);
-// Test_SPI_SETGRADIENTCAPTIONS(pti);
+// Test_SPI_SETCOMBOBOXANIMATION();
+// Test_SPI_SETLISTBOXSMOOTHSCROLLING();
+// Test_SPI_SETGRADIENTCAPTIONS();
-INT
-Test_SPI_SETKEYBOARDCUES(PTESTINFO pti)
+void
+Test_SPI_SETKEYBOARDCUES(void)
{
- return Test_UserPref(pti, SPI_GETKEYBOARDCUES, SPI_SETKEYBOARDCUES, UPM_KEYBOARDCUES);
+ Test_UserPref(SPI_GETKEYBOARDCUES, SPI_SETKEYBOARDCUES, UPM_KEYBOARDCUES);
}
-// Test_SPI_SETACTIVEWNDTRKZORDER(pti);
-// Test_SPI_SETHOTTRACKING(pti);
-// Test_SPI_SETMENUFADE(pti);
-// Test_SPI_SETSELECTIONFADE(pti);
-// Test_SPI_SETTOOLTIPANIMATION(pti);
-// Test_SPI_SETTOOLTIPFADE(pti);
-// Test_SPI_SETCURSORSHADOW(pti);
-// Test_SPI_SETMOUSESONAR(pti);
-
-INT
-Test_SPI_SETMOUSECLICKLOCK(PTESTINFO pti)
+// Test_SPI_SETACTIVEWNDTRKZORDER();
+// Test_SPI_SETHOTTRACKING();
+// Test_SPI_SETMENUFADE();
+// Test_SPI_SETSELECTIONFADE();
+// Test_SPI_SETTOOLTIPANIMATION();
+// Test_SPI_SETTOOLTIPFADE();
+// Test_SPI_SETCURSORSHADOW();
+// Test_SPI_SETMOUSESONAR();
+
+void
+Test_SPI_SETMOUSECLICKLOCK(void)
{
- return Test_UserPref(pti, SPI_GETMOUSECLICKLOCK, SPI_SETMOUSECLICKLOCK, UPM_CLICKLOCK);
+ Test_UserPref(SPI_GETMOUSECLICKLOCK, SPI_SETMOUSECLICKLOCK, UPM_CLICKLOCK);
}
-// Test_SPI_SETMOUSEVANISH(pti);
-// Test_SPI_SETFLATMENU(pti);
-// Test_SPI_SETDROPSHADOW(pti);
-// Test_SPI_SETBLOCKSENDINPUTRESETS(pti);
-// Test_SPI_GETSETUIEFFECTS(pti);
-// Test_SPI_SETDISABLEOVERLAPPEDCONTENT(pti);
-// Test_SPI_SETCLIENTAREAANIMATION(pti);
-// Test_SPI_SETCLEARTYPE(pti);
-// Test_SPI_SETSPEECHRECOGNITION(pti);
-// Test_SPI_SETFOREGROUNDLOCKTIMEOUT(pti);
-// Test_SPI_SETACTIVEWNDTRKTIMEOUT(pti);
-// Test_SPI_SETFOREGROUNDFLASHCOUNT(pti);
-// Test_SPI_SETCARETWIDTH(pti);
-// Test_SPI_SETMOUSECLICKLOCKTIME(pti);
-// Test_SPI_SETFONTSMOOTHINGTYPE(pti);
-// Test_SPI_SETFONTSMOOTHINGCONTRAST(pti);
-// Test_SPI_SETFOCUSBORDERWIDTH(pti);
-// Test_SPI_SETFOCUSBORDERHEIGHT(pti);
-// Test_SPI_SETFONTSMOOTHINGORIENTATION(pti);
-
-
-INT
-Test_NtUserSystemParametersInfo(PTESTINFO pti)
+// Test_SPI_SETMOUSEVANISH();
+// Test_SPI_SETFLATMENU();
+// Test_SPI_SETDROPSHADOW();
+// Test_SPI_SETBLOCKSENDINPUTRESETS();
+// Test_SPI_GETSETUIEFFECTS();
+// Test_SPI_SETDISABLEOVERLAPPEDCONTENT();
+// Test_SPI_SETCLIENTAREAANIMATION();
+// Test_SPI_SETCLEARTYPE();
+// Test_SPI_SETSPEECHRECOGNITION();
+// Test_SPI_SETFOREGROUNDLOCKTIMEOUT();
+// Test_SPI_SETACTIVEWNDTRKTIMEOUT();
+// Test_SPI_SETFOREGROUNDFLASHCOUNT();
+// Test_SPI_SETCARETWIDTH();
+// Test_SPI_SETMOUSECLICKLOCKTIME();
+// Test_SPI_SETFONTSMOOTHINGTYPE();
+// Test_SPI_SETFONTSMOOTHINGCONTRAST();
+// Test_SPI_SETFOCUSBORDERWIDTH();
+// Test_SPI_SETFOCUSBORDERHEIGHT();
+// Test_SPI_SETFONTSMOOTHINGORIENTATION();
+
+
+START_TEST(NtUserSystemParametersInfo)
{
HWND hWnd;
hWnd = CreateTestWindow();
ASSERT(hWnd);
- Test_NtUserSystemParametersInfo_Params(pti);
- Test_NtUserSystemParametersInfo_fWinIni(pti);
- Test_NtUserSystemParametersInfo_Winsta(pti);
-
- Test_SPI_SETBEEP(pti);
- Test_SPI_SETMOUSE(pti);
- Test_SPI_SETBORDER(pti);
-// Test_SPI_SETKEYBOARDSPEED(pti);
-// Test_SPI_LANGDRIVER(pti);
-// Test_SPI_ICONHORIZONTALSPACING(pti);
-// Test_SPI_SETSCREENSAVETIMEOUT(pti);
-// Test_SPI_SETSCREENSAVEACTIVE(pti);
-// Test_SPI_SETGRIDGRANULARITY(pti);
- Test_SPI_SETDESKWALLPAPER(pti);
-// Test_SPI_SETDESKPATTERN(pti);
-// Test_SPI_SETKEYBOARDDELAY(pti);
-// Test_SPI_ICONVERTICALSPACING(pti);
-// Test_SPI_SETICONTITLEWRAP(pti);
-// Test_SPI_SETMENUDROPALIGNMENT(pti);
-// Test_SPI_SETDOUBLECLKWIDTH(pti);
-// Test_SPI_SETDOUBLECLKHEIGHT(pti);
-// Test_SPI_SETDOUBLECLICKTIME(pti);
- Test_SPI_SETMOUSEBUTTONSWAP(pti);
- Test_SPI_SETICONTITLELOGFONT(pti);
- Test_SPI_SETFASTTASKSWITCH(pti);
- Test_SPI_SETDRAGFULLWINDOWS(pti);
- Test_SPI_SETNONCLIENTMETRICS(pti);
- Test_SPI_SETMINIMIZEDMETRICS(pti);
- Test_SPI_SETICONMETRICS(pti);
- Test_SPI_SETWORKAREA(pti);
- Test_SPI_SETPENWINDOWS(pti);
- Test_SPI_SETFILTERKEYS(pti);
- Test_SPI_SETTOGGLEKEYS(pti);
- Test_SPI_SETMOUSEKEYS(pti);
- Test_SPI_SETSHOWSOUNDS(pti);
- Test_SPI_SETSTICKYKEYS(pti);
- Test_SPI_SETACCESSTIMEOUT(pti);
- Test_SPI_SETSERIALKEYS(pti);
- Test_SPI_SETSOUNDSENTRY(pti);
- Test_SPI_SETHIGHCONTRAST(pti);
- Test_SPI_SETKEYBOARDPREF(pti);
-// Test_SPI_SETSCREENREADER(pti);
-/// Test_SPI_SETANIMATION(pti);
-// Test_SPI_SETFONTSMOOTHING(pti);
-// Test_SPI_SETDRAGWIDTH(pti);
-// Test_SPI_SETDRAGHEIGHT(pti);
-// Test_SPI_SETHANDHELD(pti);
-// Test_SPI_SETLOWPOWERTIMEOUT(pti);
-// Test_SPI_SETPOWEROFFTIMEOUT(pti);
-// Test_SPI_SETLOWPOWERACTIVE(pti);
-// Test_SPI_SETPOWEROFFACTIVE(pti);
-// Test_SPI_SETCURSORS(pti);
-// Test_SPI_SETICONS(pti);
-// Test_SPI_SETDEFAULTINPUTLANG(pti);
-// Test_SPI_SETLANGTOGGLE(pti);
-// Test_SPI_GETWINDOWSEXTENSION(pti);
-// Test_SPI_SETMOUSETRAILS(pti);
-// Test_SPI_SETSNAPTODEFBUTTON(pti);
-// Test_SPI_GETSCREENSAVERRUNNING(pti);
-// Test_SPI_SETMOUSEHOVERWIDTH(pti);
-// Test_SPI_SETMOUSEHOVERHEIGHT(pti);
-// Test_SPI_SETMOUSEHOVERTIME(pti);
-// Test_SPI_SETWHEELSCROLLLINES(pti);
-// Test_SPI_SETMENUSHOWDELAY(pti);
-// Test_SPI_SETWHEELSCROLLCHARS(pti);
-// Test_SPI_SETSHOWIMEUI(pti);
-// Test_SPI_SETMOUSESPEED(pti);
-// Test_SPI_GETSCREENSAVERRUNNING(pti);
-// Test_SPI_SETAUDIODESCRIPTION(pti);
-// Test_SPI_SETSCREENSAVESECURE(pti);
-// Test_SPI_SETACTIVEWINDOWTRACKING(pti);
- Test_SPI_SETMENUANIMATION(pti);
-// Test_SPI_SETCOMBOBOXANIMATION(pti);
-// Test_SPI_SETLISTBOXSMOOTHSCROLLING(pti);
-// Test_SPI_SETGRADIENTCAPTIONS(pti);
- Test_SPI_SETKEYBOARDCUES(pti);
-// Test_SPI_SETACTIVEWNDTRKZORDER(pti);
-// Test_SPI_SETHOTTRACKING(pti);
-// Test_SPI_SETMENUFADE(pti);
-// Test_SPI_SETSELECTIONFADE(pti);
-// Test_SPI_SETTOOLTIPANIMATION(pti);
-// Test_SPI_SETTOOLTIPFADE(pti);
-// Test_SPI_SETCURSORSHADOW(pti);
-// Test_SPI_SETMOUSESONAR(pti);
- Test_SPI_SETMOUSECLICKLOCK(pti);
-// Test_SPI_SETMOUSEVANISH(pti);
-// Test_SPI_SETFLATMENU(pti);
-// Test_SPI_SETDROPSHADOW(pti);
-// Test_SPI_SETBLOCKSENDINPUTRESETS(pti);
-// Test_SPI_GETSETUIEFFECTS(pti);
-// Test_SPI_SETDISABLEOVERLAPPEDCONTENT(pti);
-// Test_SPI_SETCLIENTAREAANIMATION(pti);
-// Test_SPI_SETCLEARTYPE(pti);
-// Test_SPI_SETSPEECHRECOGNITION(pti);
-// Test_SPI_SETFOREGROUNDLOCKTIMEOUT(pti);
-// Test_SPI_SETACTIVEWNDTRKTIMEOUT(pti);
-// Test_SPI_SETFOREGROUNDFLASHCOUNT(pti);
-// Test_SPI_SETCARETWIDTH(pti);
-// Test_SPI_SETMOUSECLICKLOCKTIME(pti);
-// Test_SPI_SETFONTSMOOTHINGTYPE(pti);
-// Test_SPI_SETFONTSMOOTHINGCONTRAST(pti);
-// Test_SPI_SETFOCUSBORDERWIDTH(pti);
-// Test_SPI_SETFOCUSBORDERHEIGHT(pti);
-// Test_SPI_SETFONTSMOOTHINGORIENTATION(pti);
+ Test_NtUserSystemParametersInfo_Params();
+ Test_NtUserSystemParametersInfo_fWinIni();
+ Test_NtUserSystemParametersInfo_Winsta();
+
+ Test_SPI_SETBEEP();
+ Test_SPI_SETMOUSE();
+ Test_SPI_SETBORDER();
+// Test_SPI_SETKEYBOARDSPEED();
+// Test_SPI_LANGDRIVER();
+// Test_SPI_ICONHORIZONTALSPACING();
+// Test_SPI_SETSCREENSAVETIMEOUT();
+// Test_SPI_SETSCREENSAVEACTIVE();
+// Test_SPI_SETGRIDGRANULARITY();
+ Test_SPI_SETDESKWALLPAPER();
+// Test_SPI_SETDESKPATTERN();
+// Test_SPI_SETKEYBOARDDELAY();
+// Test_SPI_ICONVERTICALSPACING();
+// Test_SPI_SETICONTITLEWRAP();
+// Test_SPI_SETMENUDROPALIGNMENT();
+// Test_SPI_SETDOUBLECLKWIDTH();
+// Test_SPI_SETDOUBLECLKHEIGHT();
+// Test_SPI_SETDOUBLECLICKTIME();
+ Test_SPI_SETMOUSEBUTTONSWAP();
+ Test_SPI_SETICONTITLELOGFONT();
+ Test_SPI_SETFASTTASKSWITCH();
+ Test_SPI_SETDRAGFULLWINDOWS();
+ Test_SPI_SETNONCLIENTMETRICS();
+ Test_SPI_SETMINIMIZEDMETRICS();
+ Test_SPI_SETICONMETRICS();
+ Test_SPI_SETWORKAREA();
+ Test_SPI_SETPENWINDOWS();
+ Test_SPI_SETFILTERKEYS();
+ Test_SPI_SETTOGGLEKEYS();
+ Test_SPI_SETMOUSEKEYS();
+ Test_SPI_SETSHOWSOUNDS();
+ Test_SPI_SETSTICKYKEYS();
+ Test_SPI_SETACCESSTIMEOUT();
+ Test_SPI_SETSERIALKEYS();
+ Test_SPI_SETSOUNDSENTRY();
+ Test_SPI_SETHIGHCONTRAST();
+ Test_SPI_SETKEYBOARDPREF();
+// Test_SPI_SETSCREENREADER();
+/// Test_SPI_SETANIMATION();
+// Test_SPI_SETFONTSMOOTHING();
+// Test_SPI_SETDRAGWIDTH();
+// Test_SPI_SETDRAGHEIGHT();
+// Test_SPI_SETHANDHELD();
+// Test_SPI_SETLOWPOWERTIMEOUT();
+// Test_SPI_SETPOWEROFFTIMEOUT();
+// Test_SPI_SETLOWPOWERACTIVE();
+// Test_SPI_SETPOWEROFFACTIVE();
+// Test_SPI_SETCURSORS();
+// Test_SPI_SETICONS();
+// Test_SPI_SETDEFAULTINPUTLANG();
+// Test_SPI_SETLANGTOGGLE();
+// Test_SPI_GETWINDOWSEXTENSION();
+// Test_SPI_SETMOUSETRAILS();
+// Test_SPI_SETSNAPTODEFBUTTON();
+// Test_SPI_GETSCREENSAVERRUNNING();
+// Test_SPI_SETMOUSEHOVERWIDTH();
+// Test_SPI_SETMOUSEHOVERHEIGHT();
+// Test_SPI_SETMOUSEHOVERTIME();
+// Test_SPI_SETWHEELSCROLLLINES();
+// Test_SPI_SETMENUSHOWDELAY();
+// Test_SPI_SETWHEELSCROLLCHARS();
+// Test_SPI_SETSHOWIMEUI();
+// Test_SPI_SETMOUSESPEED();
+// Test_SPI_GETSCREENSAVERRUNNING();
+// Test_SPI_SETAUDIODESCRIPTION();
+// Test_SPI_SETSCREENSAVESECURE();
+// Test_SPI_SETACTIVEWINDOWTRACKING();
+ Test_SPI_SETMENUANIMATION();
+// Test_SPI_SETCOMBOBOXANIMATION();
+// Test_SPI_SETLISTBOXSMOOTHSCROLLING();
+// Test_SPI_SETGRADIENTCAPTIONS();
+ Test_SPI_SETKEYBOARDCUES();
+// Test_SPI_SETACTIVEWNDTRKZORDER();
+// Test_SPI_SETHOTTRACKING();
+// Test_SPI_SETMENUFADE();
+// Test_SPI_SETSELECTIONFADE();
+// Test_SPI_SETTOOLTIPANIMATION();
+// Test_SPI_SETTOOLTIPFADE();
+// Test_SPI_SETCURSORSHADOW();
+// Test_SPI_SETMOUSESONAR();
+ Test_SPI_SETMOUSECLICKLOCK();
+// Test_SPI_SETMOUSEVANISH();
+// Test_SPI_SETFLATMENU();
+// Test_SPI_SETDROPSHADOW();
+// Test_SPI_SETBLOCKSENDINPUTRESETS();
+// Test_SPI_GETSETUIEFFECTS();
+// Test_SPI_SETDISABLEOVERLAPPEDCONTENT();
+// Test_SPI_SETCLIENTAREAANIMATION();
+// Test_SPI_SETCLEARTYPE();
+// Test_SPI_SETSPEECHRECOGNITION();
+// Test_SPI_SETFOREGROUNDLOCKTIMEOUT();
+// Test_SPI_SETACTIVEWNDTRKTIMEOUT();
+// Test_SPI_SETFOREGROUNDFLASHCOUNT();
+// Test_SPI_SETCARETWIDTH();
+// Test_SPI_SETMOUSECLICKLOCKTIME();
+// Test_SPI_SETFONTSMOOTHINGTYPE();
+// Test_SPI_SETFONTSMOOTHINGCONTRAST();
+// Test_SPI_SETFOCUSBORDERWIDTH();
+// Test_SPI_SETFOCUSBORDERHEIGHT();
+// Test_SPI_SETFONTSMOOTHINGORIENTATION();
DestroyWindow(hWnd);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserToUnicodeEx
+ * PROGRAMMERS:
+ */
-INT
-Test_NtUserToUnicodeEx(PTESTINFO pti)
+#include <win32nt.h>
+
+START_TEST(NtUserToUnicodeEx)
{
BYTE KeyState[256] = {0};
WCHAR Buffer[10];
TEST(Buffer[0] == '$');
TEST(NtUserToUnicodeEx(53, 6, KeyState, Buffer, 10, 0, hkl) == 1);
TEST(Buffer[0] == '%');
- TEST(NtUserToUnicodeEx(54, 7, KeyState, Buffer, 10, 0, hkl) == 1);
+ TEST(NtUserToUnicodeEx(54, 7, KeyState, Buffer, 10, 0, hkl) == 1);
TEST(Buffer[0] == '^');
TEST(NtUserToUnicodeEx(55, 8, KeyState, Buffer, 10, 0, hkl) == 1);
TEST(Buffer[0] == '&');
TEST(Buffer[0] == '\\');
TEST(NtUserToUnicodeEx(9, 124, KeyState, Buffer, 10, 0, hkl) == 1);
TEST(Buffer[0] == 9);
-
- return APISTATUS_NORMAL;
}
+/*
+ * PROJECT: ReactOS api tests
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Test for NtUserUpdatePerUserSystemParameters
+ * PROGRAMMERS:
+ */
+
+#include <win32nt.h>
+
+
DWORD WINAPI
UpdatePerUserSystemParameters(DWORD dw1, DWORD dw2);
-INT
-Test_NtUserUpdatePerUserSystemParameters(PTESTINFO pti)
+START_TEST(NtUserUpdatePerUserSystemParameters)
{
BOOL bScrRd;
NtUserSystemParametersInfo(SPI_GETSCREENREADER, 0, &bScrRd, 0);
printf("bScrRd = %d\n", bScrRd);
- return APISTATUS_NORMAL;
}
--- /dev/null
+#define __ROS_LONG64__
+
+#define STANDALONE
+#include <apitest.h>
+
+extern void func_NtGdiDdCreateDirectDrawObject(void);
+
+const struct test winetest_testlist[] =
+{
+ { "NtGdiDdCreateDirectDrawObject", func_NtGdiDdCreateDirectDrawObject },
+
+ { 0, 0 }
+};
--- /dev/null
+
+#pragma once
+
+/* Definitions */
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#define NTOS_MODE_USER
+
+#include <apitest.h>
+
+/* SDK/DDK/NDK Headers. */
+#include <stdio.h>
+#include <excpt.h>
+#include <stdarg.h>
+#include <windef.h>
+#include <winbase.h>
+#include <wingdi.h>
+#include <winuser.h>
+#include <wincon.h>
+#include <winnls.h>
+#include <winver.h>
+#include <winnetwk.h>
+#include <winreg.h>
+#include <winsvc.h>
+#include <objbase.h>
+#include <imm.h>
+
+#include <winddi.h>
+#include <prntfont.h>
+#include <winddiui.h>
+#include <winspool.h>
+#include <ddrawi.h>
+#include <ddrawgdi.h>
+
+#include <ndk/ntndk.h>
+
+/* Public Win32K Headers */
+#include <ntusrtyp.h>
+#include <ntuser.h>
+#include <callback.h>
+#include <ntgdityp.h>
+#include <ntgdi.h>
+#include <ntgdihdl.h>
+
+#include <gditools.h>
+
+#define TEST(x) ok(x, "TEST failed: %s\n", #x)
+#define RTEST(x) ok(x, "RTEST failed: %s\n", #x)
+#define TESTX ok
+
+#define GdiHandleTable GdiQueryTable()
+
+