1 /*
2  * PROJECT:         ReactOS api tests
3  * LICENSE:         GPL - See COPYING in the top level directory
4  * PURPOSE:         Test for NtUserGetClassInfo
5  * PROGRAMMERS:
6  */
7 
8 #include <win32nt.h>
9 
10 START_TEST(NtUserGetClassInfo)
11 {
12     HINSTANCE hinst = GetModuleHandle(NULL);
13 	WNDCLASSEXW wclex, wclex2 = {0};
14 	UNICODE_STRING us;
15 	PWSTR pwstr = NULL;
16 
17 	us.Length = 8;
18 	us.MaximumLength = 8;
19 	us.Buffer = L"test";
20 
21 	wclex.cbSize = sizeof(WNDCLASSEXW);
22 	wclex.style = 0;
23 	wclex.lpfnWndProc = NULL;
24 	wclex.cbClsExtra = 2;
25 	wclex.cbWndExtra = 4;
26 	wclex.hInstance = hinst;
27 	wclex.hIcon = NULL;
28 	wclex.hCursor = NULL;
29 	wclex.hbrBackground = CreateSolidBrush(RGB(4,7,5));
30 	wclex.lpszMenuName = L"MyMenu";
31 	wclex.lpszClassName = us.Buffer;
32 	wclex.hIconSm = NULL;
33 
34 	ASSERT(RegisterClassExW(&wclex) != 0);
35 
36 	TEST(GetClassInfoExW(hinst, us.Buffer, &wclex) != 0);
37 	wclex2.cbSize = sizeof(WNDCLASSEXW);
38 	TEST(NtUserGetClassInfo(hinst, &us, &wclex2, &pwstr, 0) != 0);
39 
40     TEST(pwstr == wclex.lpszMenuName);
41     TEST(wclex2.cbSize == wclex.cbSize);
42     TEST(wclex2.style == wclex.style);
43     TEST(wclex2.lpfnWndProc == wclex.lpfnWndProc);
44     TEST(wclex2.cbClsExtra == wclex.cbClsExtra);
45     TEST(wclex2.cbWndExtra == wclex.cbWndExtra);
46     TEST(wclex2.hInstance == wclex.hInstance);
47     TEST(wclex2.hIcon == wclex.hIcon);
48     TEST(wclex2.hCursor == wclex.hCursor);
49     TEST(wclex2.hbrBackground == wclex.hbrBackground);
50     TEST(wclex2.lpszMenuName == 0);
51     TEST(wclex2.lpszClassName == 0);
52     TEST(wclex2.hIconSm == wclex.hIconSm);
53 
54 }
55