reactos/rostests/apitests/w32knapi/ntuser/NtUserGetClassInfo.c

59 lines
1.5 KiB
C
Raw Normal View History

BOOL
NTAPI
NtUserGetClassInfo2(
HINSTANCE hInstance,
PUNICODE_STRING ClassName,
LPWNDCLASSEXW wcex,
LPWSTR *ppwstr,
BOOL Ansi)
{
return (BOOL)Syscall(L"NtUserGetClassInfo", 5, &hInstance);
}
INT
Test_NtUserGetClassInfo(PTESTINFO pti)
{
WNDCLASSEXW wclex, wclex2 = {0};
UNICODE_STRING us;
PWSTR pwstr = NULL;
us.Length = 8;
us.MaximumLength = 8;
us.Buffer = L"test";
wclex.cbSize = sizeof(WNDCLASSEXW);
wclex.style = 0;
wclex.lpfnWndProc = NULL;
wclex.cbClsExtra = 2;
wclex.cbWndExtra = 4;
wclex.hInstance = g_hInstance;
wclex.hIcon = NULL;
wclex.hCursor = NULL;
wclex.hbrBackground = CreateSolidBrush(RGB(4,7,5));
wclex.lpszMenuName = L"MyMenu";
wclex.lpszClassName = us.Buffer;
wclex.hIconSm = NULL;
ASSERT(RegisterClassExW(&wclex) != 0);
TEST(GetClassInfoExW(g_hInstance, us.Buffer, &wclex) != 0);
wclex2.cbSize = sizeof(WNDCLASSEXW);
TEST(NtUserGetClassInfo2(g_hInstance, &us, &wclex2, &pwstr, 0) != 0);
TEST(pwstr == wclex.lpszMenuName);
TEST(wclex2.cbSize == wclex.cbSize);
TEST(wclex2.style == wclex.style);
TEST(wclex2.lpfnWndProc == wclex.lpfnWndProc);
TEST(wclex2.cbClsExtra == wclex.cbClsExtra);
TEST(wclex2.cbWndExtra == wclex.cbWndExtra);
TEST(wclex2.hInstance == wclex.hInstance);
TEST(wclex2.hIcon == wclex.hIcon);
TEST(wclex2.hCursor == wclex.hCursor);
TEST(wclex2.hbrBackground == wclex.hbrBackground);
TEST(wclex2.lpszMenuName == 0);
TEST(wclex2.lpszClassName == 0);
TEST(wclex2.hIconSm == wclex.hIconSm);
return APISTATUS_NORMAL;
}