Hi
I am thinking of doing this adding a header call ntuser.h
and put it in include/reactos/../ that contain all ntuser* syscall prototypes
next thing we need a good test frame work betwin gdi32.dll and win32k.sys
so we can check all param from gdi32 comes down to win32k are correct
or captuers ms gdi32.dll  to achive this so easy as posible 
I am thinking of adding a new config value or define value for win32k
that will always test the input data is correct.
example

INT
STDCALL
NtGdiExtEscape(HDC hDC,
                         IN OPTIONAL PWCHAR pDriver,
                         IN INT nDriver,
                         INT Escape,
                         INT InSize,
                         OPTIONAL LPSTR UnsafeInData,
                         INT OutSize,
                         OPTIONAL LPSTR UnsafeOutData)
{
    PDC pDC;
    LPVOID SafeInData = NULL;
    LPVOID SafeOutData = NULL;
    NTSTATUS Status = STATUS_SUCCESS;
    INT Result;

    #if gdi32_testing_on
    test_NtGdiExtEscape(...);   
    #endif
...
...
}

test will testing see if the data should have been sent or not to win32k and vaildate everthing.
and if any error detects it print out a DPRINT1 msg
DPRINT1("Testing start");
DPRINT1("Status : fail");
DPRINT1("Status : why :");
DPRINT1("Testing end");
or
DPRINT1("Testing start");
DPRINT1("Status : Sussess");
DPRINT1("Testing end");
it is like this I want adding to win32k and thuse build in test case.
 
I hope you all have understanding of good testcase and testframe buildin that can be easy disable and activate.
ofcures the testframe should not be in debug build. we maybe should create a complete new target for it as well
so public can get hold of it easy.