mirror of
https://github.com/reactos/reactos.git
synced 2025-07-11 21:34:13 +00:00
[APOTESTS]
- Convert win32k native api test to actual wine style api-tests - Hack around a bit with the win32k dlls, some renaming, etc. - Delete old apitest stuff svn path=/trunk/; revision=70458
This commit is contained in:
parent
3ef0e98b4b
commit
7ad21a4425
111 changed files with 1409 additions and 2967 deletions
|
@ -1,8 +1,5 @@
|
||||||
include_directories(include)
|
include_directories(include)
|
||||||
|
|
||||||
add_library(apitest apitest.c)
|
|
||||||
add_dependencies(apitest xdk)
|
|
||||||
|
|
||||||
add_subdirectory(advapi32)
|
add_subdirectory(advapi32)
|
||||||
add_subdirectory(atl)
|
add_subdirectory(atl)
|
||||||
add_subdirectory(browseui)
|
add_subdirectory(browseui)
|
||||||
|
@ -10,6 +7,7 @@ add_subdirectory(com)
|
||||||
add_subdirectory(crt)
|
add_subdirectory(crt)
|
||||||
add_subdirectory(dciman32)
|
add_subdirectory(dciman32)
|
||||||
add_subdirectory(gdi32)
|
add_subdirectory(gdi32)
|
||||||
|
add_subdirectory(gditools)
|
||||||
add_subdirectory(iphlpapi)
|
add_subdirectory(iphlpapi)
|
||||||
if(NOT ARCH STREQUAL "amd64")
|
if(NOT ARCH STREQUAL "amd64")
|
||||||
add_subdirectory(kernel32)
|
add_subdirectory(kernel32)
|
||||||
|
@ -25,8 +23,8 @@ add_subdirectory(psapi)
|
||||||
add_subdirectory(user32)
|
add_subdirectory(user32)
|
||||||
add_subdirectory(user32_dynamic)
|
add_subdirectory(user32_dynamic)
|
||||||
if(NOT ARCH STREQUAL "amd64")
|
if(NOT ARCH STREQUAL "amd64")
|
||||||
add_subdirectory(w32kdll)
|
add_subdirectory(win32kdll)
|
||||||
add_subdirectory(w32knapi)
|
add_subdirectory(win32nt)
|
||||||
endif()
|
endif()
|
||||||
add_subdirectory(winhttp)
|
add_subdirectory(winhttp)
|
||||||
add_subdirectory(wininet)
|
add_subdirectory(wininet)
|
||||||
|
|
|
@ -1,234 +0,0 @@
|
||||||
#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;
|
|
||||||
}
|
|
|
@ -1,121 +0,0 @@
|
||||||
#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 */
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
add_subdirectory(w32kdll_ros)
|
|
||||||
add_subdirectory(w32kdll_xpsp2)
|
|
||||||
#add_subdirectory(w32kdll_2ksp4)
|
|
||||||
add_subdirectory(w32kdll_2k3sp2)
|
|
||||||
#add_subdirectory(w32kdll_vista)
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,643 +0,0 @@
|
||||||
#
|
|
||||||
# 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
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,775 +0,0 @@
|
||||||
#
|
|
||||||
# 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
|
|
|
@ -1,11 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
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)
|
|
|
@ -1,18 +0,0 @@
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
|
|
||||||
INT
|
|
||||||
Test_NtGdiCreateCompatibleBitmap(PTESTINFO pti)
|
|
||||||
{
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
|
|
@ -1,20 +0,0 @@
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
INT
|
|
||||||
Test_NtUserCallHwndParamLock(PTESTINFO pti)
|
|
||||||
{
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
|
|
@ -1,69 +0,0 @@
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
/* 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;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
INT
|
|
||||||
Test_NtUserFindExistingCursoricon(PTESTINFO pti)
|
|
||||||
{
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,15 +0,0 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INT
|
|
||||||
Test_NtUserSetTimer(PTESTINFO pti)
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
// check valid argument
|
|
||||||
// check for replacement / new timers
|
|
||||||
// check when expiries are handled (msgs and calls)
|
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
|
|
@ -1,136 +0,0 @@
|
||||||
#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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
6
rostests/apitests/win32kdll/CMakeLists.txt
Normal file
6
rostests/apitests/win32kdll/CMakeLists.txt
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
add_subdirectory(win32kdll_ros)
|
||||||
|
add_subdirectory(win32kdll_xpsp2)
|
||||||
|
#add_subdirectory(win32kdll_2ksp4)
|
||||||
|
add_subdirectory(win32kdll_2k3sp2)
|
||||||
|
#add_subdirectory(win32kdll_vista)
|
11
rostests/apitests/win32kdll/win32kdll_2k3sp2/CMakeLists.txt
Normal file
11
rostests/apitests/win32kdll/win32kdll_2k3sp2/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
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)
|
|
@ -7,6 +7,6 @@
|
||||||
SyscallId = HEX(1000)
|
SyscallId = HEX(1000)
|
||||||
#define SVC_(name, argcount) STUB_U name, argcount
|
#define SVC_(name, argcount) STUB_U name, argcount
|
||||||
|
|
||||||
#include "w32ksvc-2k3sp2.h"
|
#include "win32ksvc-2k3sp2.h"
|
||||||
|
|
||||||
END
|
END
|
11
rostests/apitests/win32kdll/win32kdll_2ksp4/CMakeLists.txt
Normal file
11
rostests/apitests/win32kdll/win32kdll_2ksp4/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
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)
|
14
rostests/apitests/win32kdll/win32kdll_ros/CMakeLists.txt
Normal file
14
rostests/apitests/win32kdll/win32kdll_ros/CMakeLists.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
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)
|
|
@ -7,6 +7,6 @@
|
||||||
SyscallId = HEX(1000)
|
SyscallId = HEX(1000)
|
||||||
#define SVC_(name, argcount) STUB_U name, argcount
|
#define SVC_(name, argcount) STUB_U name, argcount
|
||||||
|
|
||||||
#include "win32ksvc-ros.h"
|
#include "w32ksvc.h"
|
||||||
|
|
||||||
END
|
END
|
|
@ -155,7 +155,7 @@
|
||||||
@ stdcall NtGdiFillPath(ptr)
|
@ stdcall NtGdiFillPath(ptr)
|
||||||
@ stdcall NtGdiFillRgn(ptr ptr ptr)
|
@ stdcall NtGdiFillRgn(ptr ptr ptr)
|
||||||
@ stdcall NtGdiFlattenPath(ptr)
|
@ stdcall NtGdiFlattenPath(ptr)
|
||||||
@ stdcall NtGdiFlushUserBatch()
|
# @ stdcall NtGdiFlushUserBatch()
|
||||||
@ stdcall NtGdiFlush()
|
@ stdcall NtGdiFlush()
|
||||||
@ stdcall NtGdiForceUFIMapping(ptr ptr)
|
@ stdcall NtGdiForceUFIMapping(ptr ptr)
|
||||||
@ stdcall NtGdiFrameRgn(ptr ptr ptr long long)
|
@ stdcall NtGdiFrameRgn(ptr ptr ptr long long)
|
||||||
|
@ -238,7 +238,7 @@
|
||||||
@ stdcall NtGdiMoveTo(ptr long long ptr)
|
@ stdcall NtGdiMoveTo(ptr long long ptr)
|
||||||
@ stdcall NtGdiOffsetClipRgn(ptr long long)
|
@ stdcall NtGdiOffsetClipRgn(ptr long long)
|
||||||
@ stdcall NtGdiOffsetRgn(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 NtGdiPatBlt(ptr long long long long long)
|
||||||
@ stdcall NtGdiPolyPatBlt(ptr long ptr long long)
|
@ stdcall NtGdiPolyPatBlt(ptr long ptr long long)
|
||||||
@ stdcall NtGdiPathToRegion(ptr)
|
@ stdcall NtGdiPathToRegion(ptr)
|
||||||
|
@ -331,7 +331,7 @@
|
||||||
@ stdcall NtUserCallOneParam(ptr long)
|
@ stdcall NtUserCallOneParam(ptr long)
|
||||||
@ stdcall NtUserCallTwoParam(ptr ptr long)
|
@ stdcall NtUserCallTwoParam(ptr ptr long)
|
||||||
@ stdcall NtUserChangeClipboardChain(ptr ptr)
|
@ stdcall NtUserChangeClipboardChain(ptr ptr)
|
||||||
@ stdcall NtUserChangeDisplaySettings(ptr ptr ptr long ptr)
|
# @ stdcall NtUserChangeDisplaySettings(ptr ptr ptr long ptr)
|
||||||
@ stdcall NtUserCheckImeHotKey(long long)
|
@ stdcall NtUserCheckImeHotKey(long long)
|
||||||
@ stdcall NtUserCheckMenuItem(ptr long long)
|
@ stdcall NtUserCheckMenuItem(ptr long long)
|
||||||
@ stdcall NtUserChildWindowFromPointEx(ptr long long long)
|
@ stdcall NtUserChildWindowFromPointEx(ptr long long long)
|
||||||
|
@ -487,7 +487,7 @@
|
||||||
@ stdcall NtUserQueryInformationThread(ptr long ptr long)
|
@ stdcall NtUserQueryInformationThread(ptr long ptr long)
|
||||||
@ stdcall NtUserQueryInputContext(long long)
|
@ stdcall NtUserQueryInputContext(long long)
|
||||||
@ stdcall NtUserQuerySendMessage(long)
|
@ stdcall NtUserQuerySendMessage(long)
|
||||||
@ stdcall NtUserQueryUserCounters(long long long long long)
|
#@ stdcall NtUserQueryUserCounters(long long long long long)
|
||||||
@ stdcall NtUserQueryWindow(ptr long)
|
@ stdcall NtUserQueryWindow(ptr long)
|
||||||
@ stdcall NtUserRealChildWindowFromPoint(ptr long long)
|
@ stdcall NtUserRealChildWindowFromPoint(ptr long long)
|
||||||
@ stdcall NtUserRealInternalGetMessage(ptr ptr long long long long)
|
@ stdcall NtUserRealInternalGetMessage(ptr ptr long long long long)
|
||||||
|
@ -537,7 +537,7 @@
|
||||||
@ stdcall NtUserSetParent(ptr ptr)
|
@ stdcall NtUserSetParent(ptr ptr)
|
||||||
@ stdcall NtUserSetProcessWindowStation(ptr)
|
@ stdcall NtUserSetProcessWindowStation(ptr)
|
||||||
@ stdcall NtUserSetProp(ptr long ptr)
|
@ stdcall NtUserSetProp(ptr long ptr)
|
||||||
@ stdcall NtUserSetRipFlags(long long)
|
#@ stdcall NtUserSetRipFlags(long long)
|
||||||
@ stdcall NtUserSetScrollInfo(ptr long ptr long)
|
@ stdcall NtUserSetScrollInfo(ptr long ptr long)
|
||||||
@ stdcall NtUserSetShellWindowEx(ptr ptr)
|
@ stdcall NtUserSetShellWindowEx(ptr ptr)
|
||||||
@ stdcall NtUserSetSysColors(long ptr ptr long)
|
@ stdcall NtUserSetSysColors(long ptr ptr long)
|
||||||
|
@ -589,9 +589,9 @@
|
||||||
@ stdcall NtUserSetLayeredWindowAttributes(ptr long long long)
|
@ stdcall NtUserSetLayeredWindowAttributes(ptr long long long)
|
||||||
@ stdcall NtUserUpdatePerUserSystemParameters(long long)
|
@ stdcall NtUserUpdatePerUserSystemParameters(long long)
|
||||||
@ stdcall NtUserUserHandleGrantAccess(ptr ptr long)
|
@ stdcall NtUserUserHandleGrantAccess(ptr ptr long)
|
||||||
@ stdcall NtUserValidateHandleSecure(ptr long)
|
#@ stdcall NtUserValidateHandleSecure(ptr long)
|
||||||
@ stdcall NtUserValidateRect(ptr ptr)
|
@ stdcall NtUserValidateRect(ptr ptr)
|
||||||
@ stdcall NtUserValidateTimerCallback(ptr ptr ptr)
|
#@ stdcall NtUserValidateTimerCallback(ptr ptr ptr)
|
||||||
@ stdcall NtUserVkKeyScanEx(long ptr long)
|
@ stdcall NtUserVkKeyScanEx(long ptr long)
|
||||||
@ stdcall NtUserWaitForInputIdle(ptr long long)
|
@ stdcall NtUserWaitForInputIdle(ptr long long)
|
||||||
@ stdcall NtUserWaitForMsgAndEvent(long)
|
@ stdcall NtUserWaitForMsgAndEvent(long)
|
11
rostests/apitests/win32kdll/win32kdll_vista/CMakeLists.txt
Normal file
11
rostests/apitests/win32kdll/win32kdll_vista/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
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)
|
11
rostests/apitests/win32kdll/win32kdll_xpsp2/CMakeLists.txt
Normal file
11
rostests/apitests/win32kdll/win32kdll_xpsp2/CMakeLists.txt
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
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)
|
79
rostests/apitests/win32nt/CMakeLists.txt
Normal file
79
rostests/apitests/win32nt/CMakeLists.txt
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
|
||||||
|
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)
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*
|
||||||
|
* 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);
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* 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);
|
||||||
|
}
|
|
@ -1,10 +1,17 @@
|
||||||
|
/*
|
||||||
|
* 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
|
/* Note : OsThunkDdQueryDirectDrawObject is the usermode name of NtGdiDdQueryDirectDrawObject
|
||||||
* it lives in d3d8thk.dll and in windows 2000 it doing syscall direcly to win32k.sus
|
* 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
|
* in windows xp and higher it call to gdi32.dll to DdEntry41 and it doing the syscall
|
||||||
*/
|
*/
|
||||||
INT
|
START_TEST(NtGdiDdQueryDirectDrawObject)
|
||||||
Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HANDLE hDirectDraw = NULL;
|
HANDLE hDirectDraw = NULL;
|
||||||
DD_HALINFO *pHalInfo = NULL;
|
DD_HALINFO *pHalInfo = NULL;
|
||||||
|
@ -51,8 +58,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
|
||||||
memset(&HalInfo,0,sizeof(DD_HALINFO));
|
memset(&HalInfo,0,sizeof(DD_HALINFO));
|
||||||
memset(CallBackFlags,0,sizeof(DWORD)*3);
|
memset(CallBackFlags,0,sizeof(DWORD)*3);
|
||||||
|
|
||||||
/* Get currenet display mode */
|
/* Get current display mode */
|
||||||
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &devmode);
|
EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &devmode);
|
||||||
|
|
||||||
/* Create hdc that we can use */
|
/* Create hdc that we can use */
|
||||||
hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
|
hdc = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
|
||||||
|
@ -612,7 +619,7 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
|
||||||
myDesc = puD3dTextureFormats;
|
myDesc = puD3dTextureFormats;
|
||||||
for (dwTextureCounter=0;dwTextureCounter<puD3dDriverData->dwNumTextureFormats;dwTextureCounter++)
|
for (dwTextureCounter=0;dwTextureCounter<puD3dDriverData->dwNumTextureFormats;dwTextureCounter++)
|
||||||
{
|
{
|
||||||
RTEST(myDesc->dwSize == sizeof(DDSURFACEDESC))
|
RTEST(myDesc->dwSize == sizeof(DDSURFACEDESC));
|
||||||
ASSERT(myDesc->dwSize == sizeof(DDSURFACEDESC));
|
ASSERT(myDesc->dwSize == sizeof(DDSURFACEDESC));
|
||||||
|
|
||||||
RTEST( (myDesc->dwFlags & (~(DDSD_CAPS|DDSD_PIXELFORMAT))) == 0);
|
RTEST( (myDesc->dwFlags & (~(DDSD_CAPS|DDSD_PIXELFORMAT))) == 0);
|
||||||
|
@ -785,7 +792,5 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
|
||||||
|
|
||||||
/* Cleanup ReactX setup */
|
/* Cleanup ReactX setup */
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDraw);
|
NtGdiDdDeleteDirectDrawObject(hDirectDraw);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,5 +1,13 @@
|
||||||
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);
|
HDC hDC = CreateDCW(L"Display",NULL,NULL,NULL);
|
||||||
|
|
||||||
|
@ -29,8 +37,5 @@ Test_NtGdiArcInternal(PTESTINFO pti)
|
||||||
|
|
||||||
// was passiert, wenn left > right ? einfach tauschen?
|
// was passiert, wenn left > right ? einfach tauschen?
|
||||||
|
|
||||||
|
|
||||||
DeleteDC(hDC);
|
DeleteDC(hDC);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiBitBlt
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiBitBlt(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiBitBlt)
|
||||||
{
|
{
|
||||||
BOOL bRet;
|
BOOL bRet;
|
||||||
HDC hdc1, hdc2;
|
HDC hdc1, hdc2;
|
||||||
|
@ -104,6 +111,4 @@ Test_NtGdiBitBlt(PTESTINFO pti)
|
||||||
|
|
||||||
DeleteDC(hdc1);
|
DeleteDC(hdc1);
|
||||||
DeleteDC(hdc2);
|
DeleteDC(hdc2);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiCombineRgn
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiCombineRgn(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiCombineRgn)
|
||||||
{
|
{
|
||||||
HRGN hRgnDest, hRgn1, hRgn2;
|
HRGN hRgnDest, hRgn1, hRgn2;
|
||||||
// test what params are accepted for what operations
|
// test what params are accepted for what operations
|
||||||
|
@ -41,9 +48,6 @@ Test_NtGdiCombineRgn(PTESTINFO pti)
|
||||||
SetRectRgn(hRgn1, 2, 2, 4, 3);
|
SetRectRgn(hRgn1, 2, 2, 4, 3);
|
||||||
TEST(NtGdiCombineRgn(hRgnDest, hRgnDest, hRgn1, RGN_XOR) == NULLREGION);
|
TEST(NtGdiCombineRgn(hRgnDest, hRgnDest, hRgn1, RGN_XOR) == NULLREGION);
|
||||||
|
|
||||||
|
|
||||||
/* What if 2 regions are the same */
|
/* What if 2 regions are the same */
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
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;
|
HBITMAP hBmp;
|
||||||
BITMAP bitmap;
|
BITMAP bitmap;
|
||||||
|
@ -188,24 +196,12 @@ Test_NtGdiCreateBitmap_Params(PTESTINFO pti)
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
TEST(NtGdiCreateBitmap(0, 0, 1, 1, NULL) == NULL);
|
TEST(NtGdiCreateBitmap(0, 0, 1, 1, NULL) == NULL);
|
||||||
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
TEST(GetLastError() == ERROR_INVALID_PARAMETER);
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiCreateBitmap)
|
||||||
Test_NtGdiCreateBitmap(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
INT ret;
|
|
||||||
|
|
||||||
ret = Test_NtGdiCreateBitmap_Params(pti);
|
Test_NtGdiCreateBitmap_Params();
|
||||||
if (ret != APISTATUS_NORMAL)
|
// Test_NtGdiCreateBitmap_Pixel();
|
||||||
return ret;
|
|
||||||
|
|
||||||
// ret = Test_NtGdiCreateBitmap_Pixel(pti);
|
|
||||||
// if (ret != APISTATUS_NORMAL)
|
|
||||||
// return ret;
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiCreateCompatibleBitmap
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
START_TEST(NtGdiCreateCompatibleBitmap)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiCreateCompatibleDC
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiCreateCompatibleDC(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiCreateCompatibleDC)
|
||||||
{
|
{
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
HGDIOBJ hObj;
|
HGDIOBJ hObj;
|
||||||
|
@ -23,7 +30,5 @@ Test_NtGdiCreateCompatibleDC(PTESTINFO pti)
|
||||||
TEST(hObj == GetStockObject(BLACK_PEN));
|
TEST(hObj == GetStockObject(BLACK_PEN));
|
||||||
|
|
||||||
TEST(NtGdiDeleteObjectApp(hDC) != 0);
|
TEST(NtGdiDeleteObjectApp(hDC) != 0);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiCreateDIBSection
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
HBITMAP
|
HBITMAP
|
||||||
|
@ -26,8 +34,7 @@ GetBitmapSize(BITMAPINFOHEADER *pbih)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiCreateDIBSection)
|
||||||
Test_NtGdiCreateDIBSection(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
|
@ -451,7 +458,7 @@ printf("dib with bitfileds: %p\n", hbmp);
|
||||||
|
|
||||||
/* Test section */
|
/* Test section */
|
||||||
MaximumSize.QuadPart = 4096;
|
MaximumSize.QuadPart = 4096;
|
||||||
Status = ZwCreateSection(&hSection,
|
Status = NtCreateSection(&hSection,
|
||||||
SECTION_ALL_ACCESS,
|
SECTION_ALL_ACCESS,
|
||||||
NULL,
|
NULL,
|
||||||
&MaximumSize,
|
&MaximumSize,
|
||||||
|
@ -469,7 +476,4 @@ printf("dib with bitfileds: %p\n", hbmp);
|
||||||
printf("hbmp = %p, pvBits = %p, hSection = %p\n", hbmp, pvBits, hSection);
|
printf("hbmp = %p, pvBits = %p, hSection = %p\n", hbmp, pvBits, hSection);
|
||||||
//system("PAUSE");
|
//system("PAUSE");
|
||||||
if (hbmp) DeleteObject(hbmp);
|
if (hbmp) DeleteObject(hbmp);
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiDeleteObjectApp
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiDeleteObjectApp(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiDeleteObjectApp)
|
||||||
{
|
{
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
|
@ -20,30 +27,30 @@ Test_NtGdiDeleteObjectApp(PTESTINFO pti)
|
||||||
/* Delete a compatible DC */
|
/* Delete a compatible DC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hdc = CreateCompatibleDC(NULL);
|
hdc = CreateCompatibleDC(NULL);
|
||||||
ASSERT(IsHandleValid(hdc) == 1);
|
ASSERT(GdiIsHandleValid(hdc) == 1);
|
||||||
TEST(NtGdiDeleteObjectApp(hdc) == 1);
|
TEST(NtGdiDeleteObjectApp(hdc) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hdc) == 0);
|
TEST(GdiIsHandleValid(hdc) == 0);
|
||||||
|
|
||||||
/* Delete a display DC */
|
/* Delete a display DC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
|
hdc = CreateDC("DISPLAY", NULL, NULL, NULL);
|
||||||
ASSERT(IsHandleValid(hdc) == 1);
|
ASSERT(GdiIsHandleValid(hdc) == 1);
|
||||||
TEST((hpen=SelectObject(hdc, GetStockObject(WHITE_PEN))) != NULL);
|
TEST((hpen=SelectObject(hdc, GetStockObject(WHITE_PEN))) != NULL);
|
||||||
SelectObject(hdc, hpen);
|
SelectObject(hdc, hpen);
|
||||||
TEST(NtGdiDeleteObjectApp(hdc) != 0);
|
TEST(NtGdiDeleteObjectApp(hdc) != 0);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hdc) == 1);
|
TEST(GdiIsHandleValid(hdc) == 1);
|
||||||
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
|
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
|
||||||
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
|
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
|
||||||
|
|
||||||
/* Once more */
|
/* Once more */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hdc = GetDC(0);
|
hdc = GetDC(0);
|
||||||
ASSERT(IsHandleValid(hdc) == 1);
|
ASSERT(GdiIsHandleValid(hdc) == 1);
|
||||||
TEST(NtGdiDeleteObjectApp(hdc) != 0);
|
TEST(NtGdiDeleteObjectApp(hdc) != 0);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hdc) == 1);
|
TEST(GdiIsHandleValid(hdc) == 1);
|
||||||
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
|
TEST(SelectObject(hdc, GetStockObject(WHITE_PEN)) == NULL);
|
||||||
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
|
TESTX(GetLastError() == ERROR_INVALID_PARAMETER, "GetLasterror returned 0x%08x\n", (unsigned int)GetLastError());
|
||||||
/* Make sure */
|
/* Make sure */
|
||||||
|
@ -52,26 +59,26 @@ Test_NtGdiDeleteObjectApp(PTESTINFO pti)
|
||||||
/* Delete a brush */
|
/* Delete a brush */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbrush = CreateSolidBrush(0x123456);
|
hbrush = CreateSolidBrush(0x123456);
|
||||||
ASSERT(IsHandleValid(hbrush) == 1);
|
ASSERT(GdiIsHandleValid(hbrush) == 1);
|
||||||
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbrush) == 0);
|
TEST(GdiIsHandleValid(hbrush) == 0);
|
||||||
|
|
||||||
/* Try to delete a stock brush */
|
/* Try to delete a stock brush */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbrush = GetStockObject(BLACK_BRUSH);
|
hbrush = GetStockObject(BLACK_BRUSH);
|
||||||
ASSERT(IsHandleValid(hbrush) == 1);
|
ASSERT(GdiIsHandleValid(hbrush) == 1);
|
||||||
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbrush) == 1);
|
TEST(GdiIsHandleValid(hbrush) == 1);
|
||||||
|
|
||||||
/* Delete a bitmap */
|
/* Delete a bitmap */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
|
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
|
||||||
ASSERT(IsHandleValid(hbmp) == 1);
|
ASSERT(GdiIsHandleValid(hbmp) == 1);
|
||||||
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbmp) == 0);
|
TEST(GdiIsHandleValid(hbmp) == 0);
|
||||||
|
|
||||||
/* Create a DC for further use */
|
/* Create a DC for further use */
|
||||||
hdc = CreateCompatibleDC(NULL);
|
hdc = CreateCompatibleDC(NULL);
|
||||||
|
@ -80,39 +87,37 @@ Test_NtGdiDeleteObjectApp(PTESTINFO pti)
|
||||||
/* Try to delete a brush that is selected into a DC */
|
/* Try to delete a brush that is selected into a DC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbrush = CreateSolidBrush(0x123456);
|
hbrush = CreateSolidBrush(0x123456);
|
||||||
ASSERT(IsHandleValid(hbrush) == 1);
|
ASSERT(GdiIsHandleValid(hbrush) == 1);
|
||||||
TEST(NtGdiSelectBrush(hdc, hbrush));
|
TEST(NtGdiSelectBrush(hdc, hbrush) != NULL);
|
||||||
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbrush) == 1);
|
TEST(GdiIsHandleValid(hbrush) == 1);
|
||||||
|
|
||||||
/* Try to delete a bitmap that is selected into a DC */
|
/* Try to delete a bitmap that is selected into a DC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
|
hbmp = CreateBitmap(10, 10, 1, 1, NULL);
|
||||||
ASSERT(IsHandleValid(hbmp) == 1);
|
ASSERT(GdiIsHandleValid(hbmp) == 1);
|
||||||
TEST(NtGdiSelectBitmap(hdc, hbmp));
|
TEST(NtGdiSelectBitmap(hdc, hbmp) != NULL);
|
||||||
|
|
||||||
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbmp) == 1);
|
TEST(GdiIsHandleValid(hbmp) == 1);
|
||||||
|
|
||||||
/* Bitmap get's deleted as soon as we dereference it */
|
/* Bitmap get's deleted as soon as we dereference it */
|
||||||
NtGdiSelectBitmap(hdc, GetStockObject(DEFAULT_BITMAP));
|
NtGdiSelectBitmap(hdc, GetStockObject(DEFAULT_BITMAP));
|
||||||
TEST(IsHandleValid(hbmp) == 0);
|
TEST(GdiIsHandleValid(hbmp) == 0);
|
||||||
|
|
||||||
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
TEST(NtGdiDeleteObjectApp(hbmp) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbmp) == 0);
|
TEST(GdiIsHandleValid(hbmp) == 0);
|
||||||
|
|
||||||
/* Try to delete a brush that is selected into a DC */
|
/* Try to delete a brush that is selected into a DC */
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
hbrush = CreateSolidBrush(123);
|
hbrush = CreateSolidBrush(123);
|
||||||
ASSERT(IsHandleValid(hbrush) == 1);
|
ASSERT(GdiIsHandleValid(hbrush) == 1);
|
||||||
TEST(NtGdiSelectBrush(hdc, hbrush));
|
TEST(NtGdiSelectBrush(hdc, hbrush) != NULL);
|
||||||
|
|
||||||
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
TEST(NtGdiDeleteObjectApp(hbrush) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
TEST(IsHandleValid(hbrush) == 1);
|
TEST(GdiIsHandleValid(hbrush) == 1);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,3 +1,12 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiDoPalette
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
HPALETTE
|
HPALETTE
|
||||||
CreateTestPalette()
|
CreateTestPalette()
|
||||||
{
|
{
|
||||||
|
@ -16,8 +25,8 @@ CreateTestPalette()
|
||||||
return CreatePalette((LOGPALETTE*)&palstruct);
|
return CreatePalette((LOGPALETTE*)&palstruct);
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_GdiPalAnimate(PTESTINFO pti)
|
Test_NtGdiDoPalette_GdiPalAnimate(void)
|
||||||
{
|
{
|
||||||
HPALETTE hPal;
|
HPALETTE hPal;
|
||||||
PALETTEENTRY palEntries[5] = {
|
PALETTEENTRY palEntries[5] = {
|
||||||
|
@ -95,12 +104,10 @@ Test_NtGdiDoPalette_GdiPalAnimate(PTESTINFO pti)
|
||||||
RTEST(palEntries2[3].peFlags == palEntries[3].peFlags);
|
RTEST(palEntries2[3].peFlags == palEntries[3].peFlags);
|
||||||
DeleteObject(hPal);
|
DeleteObject(hPal);
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_GdiPalSetEntries(PTESTINFO pti)
|
Test_NtGdiDoPalette_GdiPalSetEntries(void)
|
||||||
{
|
{
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
HPALETTE hPal, hOldPal;
|
HPALETTE hPal, hOldPal;
|
||||||
|
@ -167,11 +174,10 @@ Test_NtGdiDoPalette_GdiPalSetEntries(PTESTINFO pti)
|
||||||
/* Test pEntries = NULL */
|
/* Test pEntries = NULL */
|
||||||
RTEST(NtGdiDoPalette(hPal, 0, 1, NULL, GdiPalGetEntries, TRUE) == 0);
|
RTEST(NtGdiDoPalette(hPal, 0, 1, NULL, GdiPalGetEntries, TRUE) == 0);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_GdiPalGetEntries(PTESTINFO pti)
|
Test_NtGdiDoPalette_GdiPalGetEntries(void)
|
||||||
{
|
{
|
||||||
HPALETTE hPal;
|
HPALETTE hPal;
|
||||||
|
|
||||||
|
@ -188,23 +194,22 @@ Test_NtGdiDoPalette_GdiPalGetEntries(PTESTINFO pti)
|
||||||
|
|
||||||
// Test flags 0xf0
|
// Test flags 0xf0
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_GetSystemPalette(PTESTINFO pti)
|
Test_NtGdiDoPalette_GetSystemPalette(void)
|
||||||
{
|
{
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_GetBIBColorTable(PTESTINFO pti)
|
Test_NtGdiDoPalette_GetBIBColorTable(void)
|
||||||
{
|
{
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_NtGdiDoPalette_SetDIBColorTable(PTESTINFO pti)
|
Test_NtGdiDoPalette_SetDIBColorTable(void)
|
||||||
{
|
{
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
|
@ -217,7 +222,7 @@ Test_NtGdiDoPalette_SetDIBColorTable(PTESTINFO pti)
|
||||||
} bmi;
|
} bmi;
|
||||||
|
|
||||||
hdc = CreateCompatibleDC(0);
|
hdc = CreateCompatibleDC(0);
|
||||||
ASSERT(hdc);
|
ASSERT(hdc != NULL);
|
||||||
|
|
||||||
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
|
||||||
bmi.bmiHeader.biWidth = 10;
|
bmi.bmiHeader.biWidth = 10;
|
||||||
|
@ -268,51 +273,16 @@ Test_NtGdiDoPalette_SetDIBColorTable(PTESTINFO pti)
|
||||||
|
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
DeleteObject(hbmp);
|
DeleteObject(hbmp);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiDoPalette)
|
||||||
Test_NtGdiDoPalette(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
INT ret;
|
Test_NtGdiDoPalette_GdiPalAnimate();
|
||||||
|
Test_NtGdiDoPalette_GdiPalSetEntries();
|
||||||
|
Test_NtGdiDoPalette_GdiPalGetEntries();
|
||||||
|
Test_NtGdiDoPalette_GetSystemPalette();
|
||||||
|
Test_NtGdiDoPalette_GetBIBColorTable();
|
||||||
|
Test_NtGdiDoPalette_SetDIBColorTable();
|
||||||
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
26
rostests/apitests/win32nt/ntgdi/NtGdiEngCreatePalette.c
Normal file
26
rostests/apitests/win32nt/ntgdi/NtGdiEngCreatePalette.c
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* 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));
|
||||||
|
|
||||||
|
}
|
|
@ -1,11 +1,18 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiEnumFontOpen
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiEnumFontOpen(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiEnumFontOpen)
|
||||||
{
|
{
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
ULONG_PTR idEnum;
|
ULONG_PTR idEnum;
|
||||||
ULONG ulCount;
|
ULONG ulCount;
|
||||||
PGDI_TABLE_ENTRY pEntry;
|
PENTRY pEntry;
|
||||||
|
|
||||||
hDC = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
|
hDC = CreateDCW(L"DISPLAY",NULL,NULL,NULL);
|
||||||
|
|
||||||
|
@ -17,10 +24,12 @@ Test_NtGdiEnumFontOpen(PTESTINFO pti)
|
||||||
/* we should have a gdi handle here */
|
/* we should have a gdi handle here */
|
||||||
TEST(GDI_HANDLE_GET_TYPE(idEnum) == GDI_OBJECT_TYPE_ENUMFONT);
|
TEST(GDI_HANDLE_GET_TYPE(idEnum) == GDI_OBJECT_TYPE_ENUMFONT);
|
||||||
pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(idEnum)];
|
pEntry = &GdiHandleTable[GDI_HANDLE_GET_INDEX(idEnum)];
|
||||||
TEST(pEntry->KernelData != NULL);
|
TEST(pEntry->einfo.pobj != NULL);
|
||||||
TEST(pEntry->ProcessId == GetCurrentProcessId());
|
TEST(pEntry->ObjectOwner.ulObj == GetCurrentProcessId());
|
||||||
TEST(pEntry->UserData == 0);
|
TEST(pEntry->pUser == NULL);
|
||||||
TEST(pEntry->Type == ((idEnum >> 16) | GDI_OBJECT_TYPE_ENUMFONT));
|
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 */
|
/* We should not be able to use DeleteObject() on the handle */
|
||||||
TEST(DeleteObject((HGDIOBJ)idEnum) == FALSE);
|
TEST(DeleteObject((HGDIOBJ)idEnum) == FALSE);
|
||||||
|
@ -30,7 +39,5 @@ Test_NtGdiEnumFontOpen(PTESTINFO pti)
|
||||||
// Test no logfont (NULL): should word
|
// Test no logfont (NULL): should word
|
||||||
// Test empty lfFaceName string: should not work
|
// Test empty lfFaceName string: should not work
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiExtTextOutW
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
BOOL
|
BOOL
|
||||||
|
@ -14,9 +22,9 @@ NtGdiExtTextOutW(
|
||||||
IN DWORD dwCodePage)
|
IN DWORD dwCodePage)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiExtTextOutW)
|
||||||
Test_NtGdiExtTextOutW(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
|
HINSTANCE hinst = GetModuleHandle(NULL);
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
@ -28,7 +36,7 @@ Test_NtGdiExtTextOutW(PTESTINFO pti)
|
||||||
/* Create a window */
|
/* Create a window */
|
||||||
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||||
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
||||||
NULL, NULL, g_hInstance, 0);
|
NULL, NULL, hinst, 0);
|
||||||
hDC = GetDC(hWnd);
|
hDC = GetDC(hWnd);
|
||||||
|
|
||||||
lpstr = L"Hallo";
|
lpstr = L"Hallo";
|
||||||
|
@ -48,6 +56,5 @@ Test_NtGdiExtTextOutW(PTESTINFO pti)
|
||||||
ret = NtGdiExtTextOutW(hDC, 0, 0, 0, 0, lpstr, len, (INT*)((ULONG_PTR)Dx + 1), 0);
|
ret = NtGdiExtTextOutW(hDC, 0, 0, 0, 0, lpstr, len, (INT*)((ULONG_PTR)Dx + 1), 0);
|
||||||
TEST(ret == 1);
|
TEST(ret == 1);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiFlushUserBatch
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
(NTAPI
|
(NTAPI
|
||||||
*pNtGdiFlushUserBatch)(VOID);
|
*pNtGdiFlushUserBatch)(VOID);
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiFlushUserBatch)
|
||||||
Test_NtGdiFlushUserBatch(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
PVOID pRet;
|
PVOID pRet;
|
||||||
PTEB pTeb;
|
PTEB pTeb;
|
||||||
|
@ -40,5 +46,4 @@ Test_NtGdiFlushUserBatch(PTESTINFO pti)
|
||||||
TEST(pTeb->GdiTebBatch.Offset == 0);
|
TEST(pTeb->GdiTebBatch.Offset == 0);
|
||||||
TEST(pTeb->GdiTebBatch.HDC == 0);
|
TEST(pTeb->GdiTebBatch.HDC == 0);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,5 +1,13 @@
|
||||||
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};
|
BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
|
||||||
HBITMAP hBitmap;
|
HBITMAP hBitmap;
|
||||||
|
@ -57,6 +65,4 @@ Test_NtGdiGetBitmapBits(PTESTINFO pti)
|
||||||
RTEST(GetLastError() == ERROR_SUCCESS);
|
RTEST(GetLastError() == ERROR_SUCCESS);
|
||||||
|
|
||||||
DeleteObject(hBitmap);
|
DeleteObject(hBitmap);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,3 +1,12 @@
|
||||||
|
/*
|
||||||
|
* 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 */
|
/* taken from gdi32, bitmap.c */
|
||||||
UINT
|
UINT
|
||||||
FASTCALL
|
FASTCALL
|
||||||
|
@ -22,8 +31,7 @@ DIB_BitmapMaxBitsSize( PBITMAPINFO Info, UINT ScanLines )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiGetDIBitsInternal)
|
||||||
Test_NtGdiGetDIBitsInternal(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HBITMAP hBitmap;
|
HBITMAP hBitmap;
|
||||||
struct
|
struct
|
||||||
|
@ -127,5 +135,4 @@ Test_NtGdiGetDIBitsInternal(PTESTINFO pti)
|
||||||
ReleaseDC(NULL, hDCScreen);
|
ReleaseDC(NULL, hDCScreen);
|
||||||
DeleteObject(hBitmap);
|
DeleteObject(hBitmap);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiGetFontResourceInfoInternalW
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiGetFontResourceInfoInternalW(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiGetFontResourceInfoInternalW)
|
||||||
{
|
{
|
||||||
BOOL bRet;
|
BOOL bRet;
|
||||||
DWORD dwBufSize;
|
DWORD dwBufSize;
|
||||||
|
@ -32,6 +39,5 @@ Test_NtGdiGetFontResourceInfoInternalW(PTESTINFO pti)
|
||||||
|
|
||||||
// RemoveFontResourceW(szFullFileName);
|
// RemoveFontResourceW(szFullFileName);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,15 @@
|
||||||
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;
|
HWND hWnd;
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
HRGN hrgn, hrgn2;
|
HRGN hrgn, hrgn2;
|
||||||
|
@ -8,7 +17,7 @@ Test_NtGdiGetRandomRgn(PTESTINFO pti)
|
||||||
/* Create a window */
|
/* Create a window */
|
||||||
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||||
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
||||||
NULL, NULL, g_hInstance, 0);
|
NULL, NULL, hinst, 0);
|
||||||
// UpdateWindow(hWnd);
|
// UpdateWindow(hWnd);
|
||||||
hDC = GetDC(hWnd);
|
hDC = GetDC(hWnd);
|
||||||
|
|
||||||
|
@ -76,5 +85,4 @@ Test_NtGdiGetRandomRgn(PTESTINFO pti)
|
||||||
ReleaseDC(hWnd, hDC);
|
ReleaseDC(hWnd, hDC);
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiGetStockObject
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiGetStockObject(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiGetStockObject)
|
||||||
{
|
{
|
||||||
HANDLE handle = NULL;
|
HANDLE handle = NULL;
|
||||||
BITMAP bitmap;
|
BITMAP bitmap;
|
||||||
|
@ -133,5 +140,5 @@ Test_NtGdiGetStockObject(PTESTINFO pti)
|
||||||
|
|
||||||
RTEST(NtGdiGetStockObject(22) == 0);
|
RTEST(NtGdiGetStockObject(22) == 0);
|
||||||
RTEST(NtGdiGetStockObject(23) == 0);
|
RTEST(NtGdiGetStockObject(23) == 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,8 +1,16 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiPolyPolyDraw
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
|
||||||
static
|
static
|
||||||
INT
|
void
|
||||||
Test_Params(PTESTINFO pti)
|
Test_Params(void)
|
||||||
{
|
{
|
||||||
ULONG_PTR ret;
|
ULONG_PTR ret;
|
||||||
ULONG Count1[4] = {3, 2, 4, 3};
|
ULONG Count1[4] = {3, 2, 4, 3};
|
||||||
|
@ -192,17 +200,13 @@ Test_Params(PTESTINFO pti)
|
||||||
TEST(ret == 0);
|
TEST(ret == 0);
|
||||||
TEST(GetLastError() == 87);
|
TEST(GetLastError() == 87);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
START_TEST(NtGdiPolyPolyDraw)
|
||||||
INT
|
|
||||||
Test_NtGdiPolyPolyDraw(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
Test_Params(pti);
|
Test_Params();
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
|
/*
|
||||||
|
* 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 HBRUSH hbrush;
|
||||||
static HBITMAP hbitmap;
|
static HBITMAP hbitmap;
|
||||||
|
@ -61,7 +68,7 @@ SetSpecialDCState2(HDC hdc)
|
||||||
|
|
||||||
static
|
static
|
||||||
void
|
void
|
||||||
Test_IsSpecialState(PTESTINFO pti, HDC hdc, BOOL bMemDC)
|
Test_IsSpecialState(HDC hdc, BOOL bMemDC)
|
||||||
{
|
{
|
||||||
POINT pt;
|
POINT pt;
|
||||||
SIZE sz;
|
SIZE sz;
|
||||||
|
@ -107,7 +114,7 @@ Test_IsSpecialState(PTESTINFO pti, HDC hdc, BOOL bMemDC)
|
||||||
|
|
||||||
static
|
static
|
||||||
void
|
void
|
||||||
Test_SaveRestore(PTESTINFO pti, HDC hdc, BOOL bMemDC)
|
Test_SaveRestore(HDC hdc, BOOL bMemDC)
|
||||||
{
|
{
|
||||||
SetSpecialDCState(hdc);
|
SetSpecialDCState(hdc);
|
||||||
NtGdiSaveDC(hdc);
|
NtGdiSaveDC(hdc);
|
||||||
|
@ -129,17 +136,16 @@ Test_SaveRestore(PTESTINFO pti, HDC hdc, BOOL bMemDC)
|
||||||
TEST(NtGdiRestoreDC(hdc, 1) == 1);
|
TEST(NtGdiRestoreDC(hdc, 1) == 1);
|
||||||
TEST(GetLastError() == 0);
|
TEST(GetLastError() == 0);
|
||||||
|
|
||||||
Test_IsSpecialState(pti, hdc, bMemDC);
|
Test_IsSpecialState(hdc, bMemDC);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiRestoreDC)
|
||||||
Test_NtGdiRestoreDC(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
|
|
||||||
hdc = CreateCompatibleDC(0);
|
hdc = CreateCompatibleDC(0);
|
||||||
ASSERT(IsHandleValid(hdc));
|
ASSERT(GdiIsHandleValid(hdc));
|
||||||
|
|
||||||
SetLastError(0);
|
SetLastError(0);
|
||||||
TEST(NtGdiRestoreDC(0, -10) == 0);
|
TEST(NtGdiRestoreDC(0, -10) == 0);
|
||||||
|
@ -155,38 +161,35 @@ Test_NtGdiRestoreDC(PTESTINFO pti)
|
||||||
|
|
||||||
/* Initialize objects */
|
/* Initialize objects */
|
||||||
hbrush = CreateSolidBrush(12345);
|
hbrush = CreateSolidBrush(12345);
|
||||||
ASSERT(IsHandleValid(hbrush));
|
ASSERT(GdiIsHandleValid(hbrush));
|
||||||
hpen = CreatePen(PS_SOLID, 4, RGB(10,12,32));
|
hpen = CreatePen(PS_SOLID, 4, RGB(10,12,32));
|
||||||
ASSERT(IsHandleValid(hpen));
|
ASSERT(GdiIsHandleValid(hpen));
|
||||||
hbitmap = CreateBitmap(10, 10, 1, 1, NULL);
|
hbitmap = CreateBitmap(10, 10, 1, 1, NULL);
|
||||||
ASSERT(IsHandleValid(hbitmap));
|
ASSERT(GdiIsHandleValid(hbitmap));
|
||||||
hfont = CreateFont(10, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET,
|
hfont = CreateFont(10, 0, 0, 0, FW_NORMAL, 0, 0, 0, ANSI_CHARSET,
|
||||||
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
|
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
|
||||||
DEFAULT_PITCH, "Arial");
|
DEFAULT_PITCH, "Arial");
|
||||||
ASSERT(IsHandleValid(hfont));
|
ASSERT(GdiIsHandleValid(hfont));
|
||||||
hrgn = CreateRectRgn(12, 14, 14, 17);
|
hrgn = CreateRectRgn(12, 14, 14, 17);
|
||||||
ASSERT(IsHandleValid(hrgn));
|
ASSERT(GdiIsHandleValid(hrgn));
|
||||||
hrgn2 = CreateRectRgn(1, 1, 2, 2);
|
hrgn2 = CreateRectRgn(1, 1, 2, 2);
|
||||||
ASSERT(IsHandleValid(hrgn2));
|
ASSERT(GdiIsHandleValid(hrgn2));
|
||||||
|
|
||||||
/* Test mem dc */
|
/* Test mem dc */
|
||||||
Test_SaveRestore(pti, hdc, TRUE);
|
Test_SaveRestore(hdc, TRUE);
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
|
|
||||||
/* Test screen DC */
|
/* Test screen DC */
|
||||||
hdc = GetDC(0);
|
hdc = GetDC(0);
|
||||||
ASSERT(IsHandleValid(hdc));
|
ASSERT(GdiIsHandleValid(hdc));
|
||||||
Test_SaveRestore(pti, hdc, FALSE);
|
Test_SaveRestore(hdc, FALSE);
|
||||||
ReleaseDC(0, hdc);
|
ReleaseDC(0, hdc);
|
||||||
|
|
||||||
/* Test info dc */
|
/* Test info dc */
|
||||||
hdc = CreateICW(L"DISPLAY", NULL, NULL, NULL);
|
hdc = CreateICW(L"DISPLAY", NULL, NULL, NULL);
|
||||||
ASSERT(IsHandleValid(hdc));
|
ASSERT(GdiIsHandleValid(hdc));
|
||||||
Test_SaveRestore(pti, hdc, FALSE);
|
Test_SaveRestore(hdc, FALSE);
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiSaveDC
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtGdiSaveDC(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtGdiSaveDC)
|
||||||
{
|
{
|
||||||
|
HINSTANCE hinst = GetModuleHandle(NULL);
|
||||||
HDC hdc, hdc2;
|
HDC hdc, hdc2;
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
HBITMAP hbmp1, hbmp2, hOldBmp;
|
HBITMAP hbmp1, hbmp2, hOldBmp;
|
||||||
|
@ -11,21 +19,21 @@ Test_NtGdiSaveDC(PTESTINFO pti)
|
||||||
|
|
||||||
/* Test info dc */
|
/* Test info dc */
|
||||||
hdc = CreateICW(L"DISPLAY",NULL,NULL,NULL);
|
hdc = CreateICW(L"DISPLAY",NULL,NULL,NULL);
|
||||||
TEST(hdc);
|
TEST(hdc != NULL);
|
||||||
TEST(NtGdiSaveDC(hdc) == 1);
|
TEST(NtGdiSaveDC(hdc) == 1);
|
||||||
TEST(NtGdiSaveDC(hdc) == 2);
|
TEST(NtGdiSaveDC(hdc) == 2);
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
|
|
||||||
/* Test display dc */
|
/* Test display dc */
|
||||||
hdc = GetDC(0);
|
hdc = GetDC(0);
|
||||||
TEST(hdc);
|
TEST(hdc != NULL);
|
||||||
TEST(NtGdiSaveDC(hdc) == 1);
|
TEST(NtGdiSaveDC(hdc) == 1);
|
||||||
TEST(NtGdiSaveDC(hdc) == 2);
|
TEST(NtGdiSaveDC(hdc) == 2);
|
||||||
ReleaseDC(0, hdc);
|
ReleaseDC(0, hdc);
|
||||||
|
|
||||||
/* Test a mem DC */
|
/* Test a mem DC */
|
||||||
hdc = CreateCompatibleDC(0);
|
hdc = CreateCompatibleDC(0);
|
||||||
TEST(hdc);
|
TEST(hdc != NULL);
|
||||||
TEST(NtGdiSaveDC(hdc) == 1);
|
TEST(NtGdiSaveDC(hdc) == 1);
|
||||||
TEST(NtGdiSaveDC(hdc) == 2);
|
TEST(NtGdiSaveDC(hdc) == 2);
|
||||||
DeleteDC(hdc);
|
DeleteDC(hdc);
|
||||||
|
@ -33,9 +41,9 @@ Test_NtGdiSaveDC(PTESTINFO pti)
|
||||||
/* Create a window */
|
/* Create a window */
|
||||||
hwnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
hwnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||||
10, 10, 100, 100,
|
10, 10, 100, 100,
|
||||||
NULL, NULL, g_hInstance, 0);
|
NULL, NULL, hinst, 0);
|
||||||
hdc = GetDC(hwnd);
|
hdc = GetDC(hwnd);
|
||||||
TEST(hdc);
|
TEST(hdc != NULL);
|
||||||
TEST(NtGdiSaveDC(hdc) == 1);
|
TEST(NtGdiSaveDC(hdc) == 1);
|
||||||
NtGdiRestoreDC(hdc, 1);
|
NtGdiRestoreDC(hdc, 1);
|
||||||
ReleaseDC(hwnd, hdc);
|
ReleaseDC(hwnd, hdc);
|
||||||
|
@ -43,15 +51,15 @@ Test_NtGdiSaveDC(PTESTINFO pti)
|
||||||
|
|
||||||
/* test behaviour when a bitmap is selected */
|
/* test behaviour when a bitmap is selected */
|
||||||
hbmp1 = CreateBitmap(2, 2, 1, 1, NULL);
|
hbmp1 = CreateBitmap(2, 2, 1, 1, NULL);
|
||||||
TEST(hbmp1);
|
TEST(hbmp1 != NULL);
|
||||||
hbmp2 = CreateBitmap(2, 2, 1, 1, NULL);
|
hbmp2 = CreateBitmap(2, 2, 1, 1, NULL);
|
||||||
TEST(hbmp2);
|
TEST(hbmp2 != NULL);
|
||||||
hdc = CreateCompatibleDC(0);
|
hdc = CreateCompatibleDC(0);
|
||||||
TEST(hdc);
|
TEST(hdc != NULL);
|
||||||
hdc2 = CreateCompatibleDC(0);
|
hdc2 = CreateCompatibleDC(0);
|
||||||
TEST(hdc2);
|
TEST(hdc2 != NULL);
|
||||||
hOldBmp = SelectObject(hdc, hbmp1);
|
hOldBmp = SelectObject(hdc, hbmp1);
|
||||||
TEST(hOldBmp);
|
TEST(hOldBmp != NULL);
|
||||||
TEST(NtGdiSaveDC(hdc) == 1);
|
TEST(NtGdiSaveDC(hdc) == 1);
|
||||||
TEST(SelectObject(hdc, hbmp2) == hbmp1);
|
TEST(SelectObject(hdc, hbmp2) == hbmp1);
|
||||||
TEST(SelectObject(hdc2, hbmp1) == NULL);
|
TEST(SelectObject(hdc2, hbmp1) == NULL);
|
||||||
|
@ -73,6 +81,5 @@ Test_NtGdiSaveDC(PTESTINFO pti)
|
||||||
DeleteObject(hbmp1);
|
DeleteObject(hbmp1);
|
||||||
DeleteObject(hbmp2);
|
DeleteObject(hbmp2);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiSelectBitmap
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_SelectDIBSection(PTESTINFO pti)
|
|
||||||
|
void
|
||||||
|
Test_SelectDIBSection(void)
|
||||||
{
|
{
|
||||||
HDC hdc;
|
HDC hdc;
|
||||||
HBITMAP hbmp;
|
HBITMAP hbmp;
|
||||||
|
@ -32,12 +40,10 @@ Test_SelectDIBSection(PTESTINFO pti)
|
||||||
|
|
||||||
TEST(NtGdiSelectBitmap(hdc, hbmp) != 0);
|
TEST(NtGdiSelectBitmap(hdc, hbmp) != 0);
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiSelectBitmap)
|
||||||
Test_NtGdiSelectBitmap(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
HBITMAP hBmp, hOldBmp;
|
HBITMAP hBmp, hOldBmp;
|
||||||
|
@ -106,8 +112,7 @@ Test_NtGdiSelectBitmap(PTESTINFO pti)
|
||||||
DeleteObject(hBmp);
|
DeleteObject(hBmp);
|
||||||
DeleteDC(hDC);
|
DeleteDC(hDC);
|
||||||
|
|
||||||
Test_SelectDIBSection(pti);
|
Test_SelectDIBSection();
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
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;
|
HDC hDC;
|
||||||
HBRUSH hBrush, hOldBrush;
|
HBRUSH hBrush, hOldBrush;
|
||||||
|
@ -52,7 +60,7 @@ Test_NtGdiSelectBrush(PTESTINFO pti)
|
||||||
/* Begin with a white brush */
|
/* Begin with a white brush */
|
||||||
NtGdiSelectBrush(hDC, GetStockObject(WHITE_BRUSH));
|
NtGdiSelectBrush(hDC, GetStockObject(WHITE_BRUSH));
|
||||||
|
|
||||||
pdcattr = GetHandleUserData(hDC);
|
pdcattr = GdiGetHandleUserData(hDC);
|
||||||
/* Change the brush in user mode, without setting flags */
|
/* Change the brush in user mode, without setting flags */
|
||||||
pdcattr->hbrush = (HBRUSH)12345;
|
pdcattr->hbrush = (HBRUSH)12345;
|
||||||
|
|
||||||
|
@ -61,7 +69,5 @@ Test_NtGdiSelectBrush(PTESTINFO pti)
|
||||||
|
|
||||||
|
|
||||||
DeleteDC(hDC);
|
DeleteDC(hDC);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
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;
|
HDC hDC;
|
||||||
HFONT hFont, hOldFont;
|
HFONT hFont, hOldFont;
|
||||||
|
@ -41,7 +49,5 @@ Test_NtGdiSelectFont(PTESTINFO pti)
|
||||||
|
|
||||||
|
|
||||||
DeleteDC(hDC);
|
DeleteDC(hDC);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
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;
|
HDC hDC;
|
||||||
HPEN hPen, hOldPen;
|
HPEN hPen, hOldPen;
|
||||||
|
@ -66,6 +74,4 @@ Test_NtGdiSelectPen(PTESTINFO pti)
|
||||||
/* Test that fallback pen is BLACK_PEN */
|
/* Test that fallback pen is BLACK_PEN */
|
||||||
|
|
||||||
DeleteDC(hDC);
|
DeleteDC(hDC);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,5 +1,13 @@
|
||||||
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};
|
BYTE Bits[50] = {0,1,2,3,4,5,6,7,8,9};
|
||||||
HBITMAP hBitmap;
|
HBITMAP hBitmap;
|
||||||
|
@ -57,6 +65,4 @@ Test_NtGdiSetBitmapBits(PTESTINFO pti)
|
||||||
RTEST(GetLastError() == ERROR_SUCCESS);
|
RTEST(GetLastError() == ERROR_SUCCESS);
|
||||||
|
|
||||||
DeleteObject(hBitmap);
|
DeleteObject(hBitmap);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,3 +1,11 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtGdiSetDIBitsToDeviceInternal
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
void
|
void
|
||||||
ReadBits(HDC hDC, PDWORD OutBits)
|
ReadBits(HDC hDC, PDWORD OutBits)
|
||||||
|
@ -14,8 +22,7 @@ ReadBits(HDC hDC, PDWORD OutBits)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
START_TEST(NtGdiSetDIBitsToDeviceInternal)
|
||||||
Test_NtGdiSetDIBitsToDeviceInternal(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
static const DWORD InBits[8] = { 0x81, 0x7E, 0x5A, 0x7E, 0x7E, 0x42, 0x7E, 0x81 };
|
static const DWORD InBits[8] = { 0x81, 0x7E, 0x5A, 0x7E, 0x7E, 0x42, 0x7E, 0x81 };
|
||||||
DWORD OutBits[8];
|
DWORD OutBits[8];
|
||||||
|
@ -88,5 +95,4 @@ Test_NtGdiSetDIBitsToDeviceInternal(PTESTINFO pti)
|
||||||
ReleaseDC(hWnd, hDC);
|
ReleaseDC(hWnd, hDC);
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,30 +1,36 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserCallHwnd
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_HwndRoutine_DeregisterShellHookWindow(PTESTINFO pti, HWND hWnd)
|
|
||||||
|
void
|
||||||
|
Test_HwndRoutine_DeregisterShellHookWindow(HWND hWnd)
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW) == TRUE);
|
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_DEREGISTERSHELLHOOKWINDOW) == TRUE);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndRoutine_GetWindowContextHelpId (PTESTINFO pti, HWND hWnd)
|
Test_HwndRoutine_GetWindowContextHelpId (HWND hWnd)
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwndParam(hWnd, 0xbadb00b, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
|
TEST(NtUserCallHwndParam(hWnd, 0xbadb00b, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
|
||||||
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_GETWNDCONTEXTHLPID) == 0xbadb00b);
|
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_GETWNDCONTEXTHLPID) == 0xbadb00b);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndRoutine_SetMsgBox(PTESTINFO pti, HWND hWnd)
|
Test_HwndRoutine_SetMsgBox(HWND hWnd)
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwnd(hWnd, 0x49) != FALSE);
|
TEST(NtUserCallHwnd(hWnd, 0x49) != FALSE);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
START_TEST(NtUserCallHwnd)
|
||||||
INT
|
|
||||||
Test_NtUserCallHwnd(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
|
|
||||||
|
@ -43,14 +49,12 @@ Test_NtUserCallHwnd(PTESTINFO pti)
|
||||||
|
|
||||||
SetLastError(ERROR_SUCCESS);
|
SetLastError(ERROR_SUCCESS);
|
||||||
TEST(NtUserCallHwnd(hWnd, 0x44) == FALSE);
|
TEST(NtUserCallHwnd(hWnd, 0x44) == FALSE);
|
||||||
Test_HwndRoutine_DeregisterShellHookWindow(pti, hWnd); /* 0x45 */
|
Test_HwndRoutine_DeregisterShellHookWindow(hWnd); /* 0x45 */
|
||||||
TEST(NtUserCallHwnd(hWnd, 0x46) == FALSE); // DWP_GetEnabledPopup
|
TEST(NtUserCallHwnd(hWnd, 0x46) == FALSE); // DWP_GetEnabledPopup
|
||||||
Test_HwndRoutine_GetWindowContextHelpId (pti, hWnd); /* 0x47 */
|
Test_HwndRoutine_GetWindowContextHelpId (hWnd); /* 0x47 */
|
||||||
TEST(NtUserCallHwnd(hWnd, 0x48) == TRUE);
|
TEST(NtUserCallHwnd(hWnd, 0x48) == TRUE);
|
||||||
Test_HwndRoutine_SetMsgBox(pti, hWnd); /* 0x49 */
|
Test_HwndRoutine_SetMsgBox(hWnd); /* 0x49 */
|
||||||
TEST(GetLastError() == ERROR_SUCCESS);
|
TEST(GetLastError() == ERROR_SUCCESS);
|
||||||
|
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,61 +1,70 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserCallHwndLock
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
HMENU g_hMenu;
|
HMENU g_hMenu;
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_WindowHasShadow (PTESTINFO pti, HWND hWnd) /* 0x53 */
|
Test_HwndLockRoutine_WindowHasShadow(HWND hWnd) /* 0x53 */
|
||||||
{
|
{
|
||||||
// TEST(NtUserCallHwndLock(hWnd, 0x53) == 0);
|
// TEST(NtUserCallHwndLock(hWnd, 0x53) == 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_ArrangeIconicWindows(PTESTINFO pti, HWND hWnd) /* 0x54 */
|
Test_HwndLockRoutine_ArrangeIconicWindows(HWND hWnd) /* 0x54 */
|
||||||
{
|
{
|
||||||
// TEST(NtUserCallHwndLock(hWnd, _HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS) == 0);
|
// TEST(NtUserCallHwndLock(hWnd, _HWNDLOCK_ROUTINE_ARRANGEICONICWINDOWS) == 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_DrawMenuBar(PTESTINFO pti, HWND hWnd) /* 0x55 */
|
Test_HwndLockRoutine_DrawMenuBar(HWND hWnd) /* 0x55 */
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwndLock(hWnd, 0x55) == 1);
|
TEST(NtUserCallHwndLock(hWnd, 0x55) == 1);
|
||||||
return APISTATUS_NORMAL;
|
return APISTATUS_NORMAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_CheckImeShowStatusInThread(PTESTINFO pti, HWND hWnd) /* 0x56 */
|
Test_HwndLockRoutine_CheckImeShowStatusInThread(HWND hWnd) /* 0x56 */
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwndLock(hWnd, 0x56) != 0);
|
TEST(NtUserCallHwndLock(hWnd, 0x56) != 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_GetSysMenuHandle(PTESTINFO pti, HWND hWnd) /* 0x57 */
|
Test_HwndLockRoutine_GetSysMenuHandle(HWND hWnd) /* 0x57 */
|
||||||
{
|
{
|
||||||
NtUserCallHwndLock(hWnd, 0x5c);
|
NtUserCallHwndLock(hWnd, 0x5c);
|
||||||
// HMENU hMenu = (HMENU)NtUserCallHwndLock(hWnd, 0x57);
|
// HMENU hMenu = (HMENU)NtUserCallHwndLock(hWnd, 0x57);
|
||||||
// TEST(hMenu != 0);
|
// TEST(hMenu != 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_RedrawFrame(PTESTINFO pti, HWND hWnd) /* 0x58 */
|
Test_HwndLockRoutine_RedrawFrame(HWND hWnd) /* 0x58 */
|
||||||
{
|
{
|
||||||
// TEST(NtUserCallHwndLock(hWnd, 0x68) != 0);
|
// TEST(NtUserCallHwndLock(hWnd, 0x68) != 0);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_HwndLockRoutine_UpdateWindow(PTESTINFO pti, HWND hWnd) /* 0x5e */
|
Test_HwndLockRoutine_UpdateWindow(HWND hWnd) /* 0x5e */
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwndLock(hWnd, 0x5e) == 1);
|
TEST(NtUserCallHwndLock(hWnd, 0x5e) == 1);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserCallHwndLock)
|
||||||
Test_NtUserCallHwndLock(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
g_hMenu = CreateMenu();
|
g_hMenu = CreateMenu();
|
||||||
|
@ -85,16 +94,15 @@ Test_NtUserCallHwndLock(PTESTINFO pti)
|
||||||
TEST(NtUserCallHwndLock(hWnd, 999) == 0);
|
TEST(NtUserCallHwndLock(hWnd, 999) == 0);
|
||||||
TEST(GetLastError() == ERROR_SUCCESS);
|
TEST(GetLastError() == ERROR_SUCCESS);
|
||||||
|
|
||||||
Test_HwndLockRoutine_WindowHasShadow (pti, hWnd); /* 0x53 */
|
Test_HwndLockRoutine_WindowHasShadow (hWnd); /* 0x53 */
|
||||||
Test_HwndLockRoutine_ArrangeIconicWindows(pti, hWnd);
|
Test_HwndLockRoutine_ArrangeIconicWindows(hWnd);
|
||||||
Test_HwndLockRoutine_DrawMenuBar(pti, hWnd);
|
Test_HwndLockRoutine_DrawMenuBar(hWnd);
|
||||||
Test_HwndLockRoutine_CheckImeShowStatusInThread(pti, hWnd);
|
Test_HwndLockRoutine_CheckImeShowStatusInThread(hWnd);
|
||||||
Test_HwndLockRoutine_GetSysMenuHandle(pti, hWnd);
|
Test_HwndLockRoutine_GetSysMenuHandle(hWnd);
|
||||||
Test_HwndLockRoutine_RedrawFrame(pti, hWnd);
|
Test_HwndLockRoutine_RedrawFrame(hWnd);
|
||||||
|
|
||||||
Test_HwndLockRoutine_UpdateWindow(pti, hWnd);
|
Test_HwndLockRoutine_UpdateWindow(hWnd);
|
||||||
|
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
27
rostests/apitests/win32nt/ntuser/NtUserCallHwndOpt.c
Normal file
27
rostests/apitests/win32nt/ntuser/NtUserCallHwndOpt.c
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* 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 */
|
||||||
|
}
|
|
@ -1,15 +1,20 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserCallHwndParam
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_HwndParamRoutine_SetWindowContextHelpId (PTESTINFO pti, HWND hWnd)
|
|
||||||
|
void
|
||||||
|
Test_HwndParamRoutine_SetWindowContextHelpId(HWND hWnd)
|
||||||
{
|
{
|
||||||
TEST(NtUserCallHwndParam(hWnd, 12345, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
|
TEST(NtUserCallHwndParam(hWnd, 12345, _HWNDPARAM_ROUTINE_SETWNDCONTEXTHLPID) == TRUE);
|
||||||
TEST(NtUserCallHwnd(hWnd, _HWND_ROUTINE_GETWNDCONTEXTHLPID) == 12345);
|
TEST(NtUserCallHwnd(hWnd, HWND_ROUTINE_GETWNDCONTEXTHLPID) == 12345);
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
START_TEST(NtUserCallHwndParam)
|
||||||
INT
|
|
||||||
Test_NtUserCallHwndParam(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
|
|
||||||
|
@ -26,9 +31,7 @@ Test_NtUserCallHwndParam(PTESTINFO pti)
|
||||||
0);
|
0);
|
||||||
ASSERT(hWnd);
|
ASSERT(hWnd);
|
||||||
|
|
||||||
Test_HwndParamRoutine_SetWindowContextHelpId (pti, hWnd);
|
Test_HwndParamRoutine_SetWindowContextHelpId(hWnd);
|
||||||
|
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
13
rostests/apitests/win32nt/ntuser/NtUserCallHwndParamLock.c
Normal file
13
rostests/apitests/win32nt/ntuser/NtUserCallHwndParamLock.c
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserCallHwndParamLock
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
START_TEST(NtUserCallHwndParamLock)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
74
rostests/apitests/win32nt/ntuser/NtUserCallNoParam.c
Normal file
74
rostests/apitests/win32nt/ntuser/NtUserCallNoParam.c
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
}
|
|
@ -1,6 +1,16 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserCallOneParam
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_OneParamRoutine_BeginDeferWindowPos(PTESTINFO pti) /* 0x1e */
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
Test_OneParamRoutine_BeginDeferWindowPos(void) /* 0x1e */
|
||||||
{
|
{
|
||||||
HDWP hWinPosInfo;
|
HDWP hWinPosInfo;
|
||||||
|
|
||||||
|
@ -8,11 +18,10 @@ Test_OneParamRoutine_BeginDeferWindowPos(PTESTINFO pti) /* 0x1e */
|
||||||
TEST(hWinPosInfo != 0);
|
TEST(hWinPosInfo != 0);
|
||||||
TEST(EndDeferWindowPos(hWinPosInfo) != 0);
|
TEST(EndDeferWindowPos(hWinPosInfo) != 0);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_OneParamRoutine_WindowFromDC(PTESTINFO pti) /* 0x1f */
|
Test_OneParamRoutine_WindowFromDC(void) /* 0x1f */
|
||||||
{
|
{
|
||||||
HDC hDC = GetDC(NULL);
|
HDC hDC = GetDC(NULL);
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
|
@ -22,11 +31,10 @@ Test_OneParamRoutine_WindowFromDC(PTESTINFO pti) /* 0x1f */
|
||||||
TEST(IsWindow(hWnd));
|
TEST(IsWindow(hWnd));
|
||||||
TEST(hWnd == GetDesktopWindow());
|
TEST(hWnd == GetDesktopWindow());
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_OneParamRoutine_CreateEmptyCurObject(PTESTINFO pti) /* XP/2k3 : 0x21, vista 0x25 */
|
Test_OneParamRoutine_CreateEmptyCurObject(void) /* XP/2k3 : 0x21, vista 0x25 */
|
||||||
{
|
{
|
||||||
HICON hIcon ;
|
HICON hIcon ;
|
||||||
|
|
||||||
|
@ -42,11 +50,10 @@ Test_OneParamRoutine_CreateEmptyCurObject(PTESTINFO pti) /* XP/2k3 : 0x21, vista
|
||||||
|
|
||||||
TEST(NtUserDestroyCursor(hIcon, 0xbaadf00d) == TRUE);
|
TEST(NtUserDestroyCursor(hIcon, 0xbaadf00d) == TRUE);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_OneParamRoutine_MapDesktopObject(PTESTINFO pti) /* 0x30 */
|
Test_OneParamRoutine_MapDesktopObject(void) /* 0x30 */
|
||||||
{
|
{
|
||||||
DWORD pObject;
|
DWORD pObject;
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
|
@ -63,11 +70,10 @@ Test_OneParamRoutine_MapDesktopObject(PTESTINFO pti) /* 0x30 */
|
||||||
TEST(pObject > 0);
|
TEST(pObject > 0);
|
||||||
TEST(pObject < 0x80000000);
|
TEST(pObject < 0x80000000);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
void
|
||||||
Test_OneParamRoutine_SwapMouseButtons(PTESTINFO pti) /* 0x42 */
|
Test_OneParamRoutine_SwapMouseButtons(void) /* 0x42 */
|
||||||
{
|
{
|
||||||
BOOL bInverse;
|
BOOL bInverse;
|
||||||
|
|
||||||
|
@ -78,18 +84,13 @@ Test_OneParamRoutine_SwapMouseButtons(PTESTINFO pti) /* 0x42 */
|
||||||
TEST(bInverse == FALSE);
|
TEST(bInverse == FALSE);
|
||||||
|
|
||||||
// TODO: test other values
|
// TODO: test other values
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserCallOneParam)
|
||||||
Test_NtUserCallOneParam(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
Test_OneParamRoutine_BeginDeferWindowPos(pti); /* 0x1e */
|
Test_OneParamRoutine_BeginDeferWindowPos(); /* 0x1e */
|
||||||
Test_OneParamRoutine_WindowFromDC(pti); /* 0x1f */
|
Test_OneParamRoutine_WindowFromDC(); /* 0x1f */
|
||||||
Test_OneParamRoutine_CreateEmptyCurObject(pti); /* XP/2k3 : 0x21, vista 0x25 */
|
Test_OneParamRoutine_CreateEmptyCurObject(); /* XP/2k3 : 0x21, vista 0x25 */
|
||||||
Test_OneParamRoutine_MapDesktopObject(pti); /* 0x30 */
|
Test_OneParamRoutine_MapDesktopObject(); /* 0x30 */
|
||||||
|
Test_OneParamRoutine_SwapMouseButtons(); /* 0x42 */
|
||||||
Test_OneParamRoutine_SwapMouseButtons(pti); /* 0x42 */
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
/*
|
||||||
|
* 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);
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserEnumDisplayMonitors
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
ULONG gMonitorCount = 0;
|
ULONG gMonitorCount = 0;
|
||||||
HDC ghdcMonitor = 0;
|
HDC ghdcMonitor = 0;
|
||||||
|
@ -30,15 +38,14 @@ MonitorEnumProc(
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserEnumDisplayMonitors)
|
||||||
Test_NtUserEnumDisplayMonitors(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
|
||||||
// WILL crash!
|
// WILL crash!
|
||||||
// TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
|
// TEST(NtUserEnumDisplayMonitors1(NULL, NULL, NULL, 0) == 0);
|
||||||
|
|
||||||
ret = NtUserEnumDisplayMonitors1(0, NULL, MonitorEnumProc, 0);
|
ret = NtUserEnumDisplayMonitors(0, NULL, MonitorEnumProc, 0);
|
||||||
TEST(ret == TRUE);
|
TEST(ret == TRUE);
|
||||||
TEST(gMonitorCount > 0);
|
TEST(gMonitorCount > 0);
|
||||||
TEST(ghdcMonitor == 0);
|
TEST(ghdcMonitor == 0);
|
||||||
|
@ -47,6 +54,4 @@ Test_NtUserEnumDisplayMonitors(PTESTINFO pti)
|
||||||
TEST(grcMonitor.top == 0);
|
TEST(grcMonitor.top == 0);
|
||||||
TEST(grcMonitor.bottom > 0);
|
TEST(grcMonitor.bottom > 0);
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,3 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserEnumDisplaySettings
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static struct
|
static struct
|
||||||
{
|
{
|
||||||
|
@ -5,8 +15,7 @@ static struct
|
||||||
CHAR buffer[0xffff];
|
CHAR buffer[0xffff];
|
||||||
} data;
|
} data;
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserEnumDisplaySettings)
|
||||||
TEST_NtUserEnumDisplaySettings(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
UNICODE_STRING usDeviceName;
|
UNICODE_STRING usDeviceName;
|
||||||
WCHAR szName[] = L"DISPLAY";
|
WCHAR szName[] = L"DISPLAY";
|
||||||
|
@ -85,7 +94,7 @@ TEST_NtUserEnumDisplaySettings(PTESTINFO pti)
|
||||||
TEST(Status == STATUS_INVALID_PARAMETER_1);
|
TEST(Status == STATUS_INVALID_PARAMETER_1);
|
||||||
|
|
||||||
usDeviceName.Buffer = szName;
|
usDeviceName.Buffer = szName;
|
||||||
usDeviceName.Length = wcslen(szName);
|
usDeviceName.Length = (USHORT)wcslen(szName);
|
||||||
usDeviceName.MaximumLength = usDeviceName.Length;
|
usDeviceName.MaximumLength = usDeviceName.Length;
|
||||||
Status = NtUserEnumDisplaySettings(&usDeviceName, ENUM_CURRENT_SETTINGS, (DEVMODEW*)&data, 0);
|
Status = NtUserEnumDisplaySettings(&usDeviceName, ENUM_CURRENT_SETTINGS, (DEVMODEW*)&data, 0);
|
||||||
TEST(Status == STATUS_INVALID_PARAMETER_1);
|
TEST(Status == STATUS_INVALID_PARAMETER_1);
|
||||||
|
@ -95,5 +104,4 @@ TEST_NtUserEnumDisplaySettings(PTESTINFO pti)
|
||||||
|
|
||||||
TEST(GetLastError() == ERROR_SUCCESS);
|
TEST(GetLastError() == ERROR_SUCCESS);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserFindExistingCursoricon
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
|
START_TEST(NtUserFindExistingCursoricon)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -1,18 +1,15 @@
|
||||||
BOOL
|
/*
|
||||||
NTAPI
|
* PROJECT: ReactOS api tests
|
||||||
NtUserGetClassInfo2(
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
HINSTANCE hInstance,
|
* PURPOSE: Test for NtUserGetClassInfo
|
||||||
PUNICODE_STRING ClassName,
|
* PROGRAMMERS:
|
||||||
LPWNDCLASSEXW wcex,
|
*/
|
||||||
LPWSTR *ppwstr,
|
|
||||||
BOOL Ansi)
|
|
||||||
{
|
|
||||||
return (BOOL)Syscall(L"NtUserGetClassInfo", 5, &hInstance);
|
|
||||||
}
|
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtUserGetClassInfo(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtUserGetClassInfo)
|
||||||
{
|
{
|
||||||
|
HINSTANCE hinst = GetModuleHandle(NULL);
|
||||||
WNDCLASSEXW wclex, wclex2 = {0};
|
WNDCLASSEXW wclex, wclex2 = {0};
|
||||||
UNICODE_STRING us;
|
UNICODE_STRING us;
|
||||||
PWSTR pwstr = NULL;
|
PWSTR pwstr = NULL;
|
||||||
|
@ -26,7 +23,7 @@ Test_NtUserGetClassInfo(PTESTINFO pti)
|
||||||
wclex.lpfnWndProc = NULL;
|
wclex.lpfnWndProc = NULL;
|
||||||
wclex.cbClsExtra = 2;
|
wclex.cbClsExtra = 2;
|
||||||
wclex.cbWndExtra = 4;
|
wclex.cbWndExtra = 4;
|
||||||
wclex.hInstance = g_hInstance;
|
wclex.hInstance = hinst;
|
||||||
wclex.hIcon = NULL;
|
wclex.hIcon = NULL;
|
||||||
wclex.hCursor = NULL;
|
wclex.hCursor = NULL;
|
||||||
wclex.hbrBackground = CreateSolidBrush(RGB(4,7,5));
|
wclex.hbrBackground = CreateSolidBrush(RGB(4,7,5));
|
||||||
|
@ -36,9 +33,9 @@ Test_NtUserGetClassInfo(PTESTINFO pti)
|
||||||
|
|
||||||
ASSERT(RegisterClassExW(&wclex) != 0);
|
ASSERT(RegisterClassExW(&wclex) != 0);
|
||||||
|
|
||||||
TEST(GetClassInfoExW(g_hInstance, us.Buffer, &wclex) != 0);
|
TEST(GetClassInfoExW(hinst, us.Buffer, &wclex) != 0);
|
||||||
wclex2.cbSize = sizeof(WNDCLASSEXW);
|
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(pwstr == wclex.lpszMenuName);
|
||||||
TEST(wclex2.cbSize == wclex.cbSize);
|
TEST(wclex2.cbSize == wclex.cbSize);
|
||||||
|
@ -54,5 +51,4 @@ Test_NtUserGetClassInfo(PTESTINFO pti)
|
||||||
TEST(wclex2.lpszClassName == 0);
|
TEST(wclex2.lpszClassName == 0);
|
||||||
TEST(wclex2.hIconSm == wclex.hIconSm);
|
TEST(wclex2.hIconSm == wclex.hIconSm);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,5 +1,13 @@
|
||||||
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;
|
HICON hIcon;
|
||||||
ICONINFO iinfo;
|
ICONINFO iinfo;
|
||||||
|
@ -148,5 +156,4 @@ Test_NtUserGetIconInfo(PTESTINFO pti)
|
||||||
|
|
||||||
DestroyIcon(hIcon);
|
DestroyIcon(hIcon);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
48
rostests/apitests/win32nt/ntuser/NtUserGetTitleBarInfo.c
Normal file
48
rostests/apitests/win32nt/ntuser/NtUserGetTitleBarInfo.c
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* 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);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserProcessConnect
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
INT
|
#include <win32nt.h>
|
||||||
Test_NtUserProcessConnect(PTESTINFO pti)
|
|
||||||
|
START_TEST(NtUserProcessConnect)
|
||||||
{
|
{
|
||||||
HANDLE hProcess;
|
HANDLE hProcess;
|
||||||
NTSTATUS Status;
|
NTSTATUS Status;
|
||||||
|
@ -20,5 +27,4 @@ Test_NtUserProcessConnect(PTESTINFO pti)
|
||||||
printf("UserConnect.siClient.pDispInfo = 0x%p\n", UserConnect.siClient.pDispInfo);
|
printf("UserConnect.siClient.pDispInfo = 0x%p\n", UserConnect.siClient.pDispInfo);
|
||||||
printf("UserConnect.siClient.ulSharedDelta = 0x%lx\n", UserConnect.siClient.ulSharedDelta);
|
printf("UserConnect.siClient.ulSharedDelta = 0x%lx\n", UserConnect.siClient.ulSharedDelta);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,6 +1,15 @@
|
||||||
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;
|
HWND hWnd;
|
||||||
RECT rect;
|
RECT rect;
|
||||||
|
|
||||||
|
@ -13,7 +22,7 @@ Test_NtUserRedrawWindow(PTESTINFO pti)
|
||||||
30,
|
30,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
g_hInstance,
|
hinst,
|
||||||
0);
|
0);
|
||||||
ASSERT(hWnd);
|
ASSERT(hWnd);
|
||||||
|
|
||||||
|
@ -26,5 +35,4 @@ Test_NtUserRedrawWindow(PTESTINFO pti)
|
||||||
|
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
|
@ -1,8 +1,15 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserScrollDC
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserScrollDC)
|
||||||
Test_NtUserScrollDC(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
|
HINSTANCE hinst = GetModuleHandle(NULL);
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
HDC hDC;
|
HDC hDC;
|
||||||
HRGN hRgn, hTmpRgn;
|
HRGN hRgn, hTmpRgn;
|
||||||
|
@ -19,7 +26,7 @@ Test_NtUserScrollDC(PTESTINFO pti)
|
||||||
100,
|
100,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
g_hInstance,
|
hinst,
|
||||||
0);
|
0);
|
||||||
ASSERT(hWnd);
|
ASSERT(hWnd);
|
||||||
RedrawWindow(hWnd, &rect, NULL, RDW_UPDATENOW);
|
RedrawWindow(hWnd, &rect, NULL, RDW_UPDATENOW);
|
||||||
|
@ -106,6 +113,5 @@ Test_NtUserScrollDC(PTESTINFO pti)
|
||||||
DestroyWindow(hWnd);
|
DestroyWindow(hWnd);
|
||||||
DeleteObject(hRgn);
|
DeleteObject(hRgn);
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPL - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for NtUserSelectPalette
|
||||||
|
* PROGRAMMERS:
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <win32nt.h>
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
PALETTEENTRY
|
PALETTEENTRY
|
||||||
|
@ -13,9 +20,9 @@ PALENTRY(BYTE r, BYTE g, BYTE b)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
INT
|
START_TEST(NtUserSelectPalette)
|
||||||
Test_NtUserSelectPalette(PTESTINFO pti)
|
|
||||||
{
|
{
|
||||||
|
HINSTANCE hinst = GetModuleHandle(NULL);
|
||||||
HPALETTE hPal, hOldPal;
|
HPALETTE hPal, hOldPal;
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
HDC hDC, hCompDC;
|
HDC hDC, hCompDC;
|
||||||
|
@ -38,14 +45,14 @@ Test_NtUserSelectPalette(PTESTINFO pti)
|
||||||
|
|
||||||
hPal = CreatePalette(&pal.logpal);
|
hPal = CreatePalette(&pal.logpal);
|
||||||
ASSERT(hPal);
|
ASSERT(hPal);
|
||||||
TEST(DeletePalette(hPal) == 1);
|
TEST(DeleteObject(hPal) == 1);
|
||||||
hPal = CreatePalette(&pal.logpal);
|
hPal = CreatePalette(&pal.logpal);
|
||||||
ASSERT(hPal);
|
ASSERT(hPal);
|
||||||
|
|
||||||
/* Create a window */
|
/* Create a window */
|
||||||
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||||
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
CW_USEDEFAULT, CW_USEDEFAULT, 100, 100,
|
||||||
NULL, NULL, g_hInstance, 0);
|
NULL, NULL, hinst, 0);
|
||||||
hDC = GetDC(hWnd);
|
hDC = GetDC(hWnd);
|
||||||
ASSERT(hDC);
|
ASSERT(hDC);
|
||||||
hCompDC = CreateCompatibleDC(hDC);
|
hCompDC = CreateCompatibleDC(hDC);
|
||||||
|
@ -81,7 +88,7 @@ Test_NtUserSelectPalette(PTESTINFO pti)
|
||||||
TEST(hOldPal == GetStockObject(DEFAULT_PALETTE));
|
TEST(hOldPal == GetStockObject(DEFAULT_PALETTE));
|
||||||
|
|
||||||
/* We cannot Delete the palette */
|
/* We cannot Delete the palette */
|
||||||
TEST(DeletePalette(hPal) == 0);
|
TEST(DeleteObject(hPal) == 0);
|
||||||
|
|
||||||
/* We can still select the Palette into a compatible DC */
|
/* We can still select the Palette into a compatible DC */
|
||||||
hOldPal = NtUserSelectPalette(hCompDC, hPal, 0);
|
hOldPal = NtUserSelectPalette(hCompDC, hPal, 0);
|
||||||
|
@ -143,6 +150,4 @@ Test_NtUserSelectPalette(PTESTINFO pti)
|
||||||
printf("nearest = 0x%x\n", GetNearestColor(hCompDC, RGB(120,100,110)));
|
printf("nearest = 0x%x\n", GetNearestColor(hCompDC, RGB(120,100,110)));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
return APISTATUS_NORMAL;
|
|
||||||
}
|
}
|
18
rostests/apitests/win32nt/ntuser/NtUserSetTimer.c
Normal file
18
rostests/apitests/win32nt/ntuser/NtUserSetTimer.c
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
/*
|
||||||
|
* 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)
|
||||||
|
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue