1 /* $Id: class.c,v 1.22 2003/08/05 15:41:03 weiden Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS user32.dll
5 * FILE: lib/user32/windows/class.c
6 * PURPOSE: Window classes
7 * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
9 * 09-05-2001 CSH Created
25 LPWNDCLASSA lpWndClass
)
70 LPWNDCLASSW lpWndClass
)
81 GetClassLongA(HWND hWnd
, int nIndex
)
83 return(NtUserGetClassLong(hWnd
, nIndex
, TRUE
));
90 GetClassLongW(HWND hWnd
, int nIndex
)
92 return(NtUserGetClassLong(hWnd
, nIndex
, FALSE
));
109 ClassName
= RtlAllocateHeap(RtlGetProcessHeap(),HEAP_ZERO_MEMORY
,nMaxCount
);
110 result
= NtUserGetClassName(hWnd
, ClassName
, nMaxCount
);
111 Status
= RtlUnicodeToMultiByteN (lpClassName
,
116 if (!NT_SUCCESS(Status
))
120 RtlFreeHeap(RtlGetProcessHeap(),0,ClassName
);
137 ClassName
= RtlAllocateHeap(RtlGetProcessHeap(),HEAP_ZERO_MEMORY
,nMaxCount
);
138 result
= NtUserGetClassName(hWnd
, ClassName
, nMaxCount
);
139 RtlCopyMemory(ClassName
,lpClassName
,result
);
140 RtlFreeHeap(RtlGetProcessHeap(),0,ClassName
);
154 * NOTE: Obsoleted in 32-bit windows
166 GetWindowLongA(HWND hWnd
, int nIndex
)
168 return NtUserGetWindowLong(hWnd
, nIndex
, TRUE
);
176 GetWindowLongW(HWND hWnd
, int nIndex
)
178 return NtUserGetWindowLong(hWnd
, nIndex
, FALSE
);
231 RegisterClassA(CONST WNDCLASSA
*lpWndClass
)
235 RtlMoveMemory ( &Class
.style
, lpWndClass
, sizeof(WNDCLASSA
));
236 Class
.cbSize
= sizeof(WNDCLASSEXA
);
237 Class
.hIconSm
= INVALID_HANDLE_VALUE
;
238 return RegisterClassExA(&Class
);
246 RegisterClassExA(CONST WNDCLASSEXA
*lpwcx
)
250 Atom
= NtUserRegisterClassExWOW(0,(WNDCLASSEXA
*)lpwcx
,
264 RegisterClassExW(CONST WNDCLASSEXW
*lpwcx
)
268 Atom
= NtUserRegisterClassExWOW((WNDCLASSEXW
*)lpwcx
,
283 RegisterClassW(CONST WNDCLASSW
*lpWndClass
)
287 RtlMoveMemory(&Class
.style
, lpWndClass
, sizeof(WNDCLASSW
));
288 Class
.cbSize
= sizeof(WNDCLASSEXW
);
289 Class
.hIconSm
= INVALID_HANDLE_VALUE
;
290 return RegisterClassExW(&Class
);
304 return(NtUserSetClassLong(hWnd
, nIndex
, dwNewLong
, TRUE
));
318 return(NtUserSetClassLong(hWnd
, nIndex
, dwNewLong
, FALSE
));
332 * NOTE: Obsoleted in 32-bit windows
350 return NtUserSetWindowLong(hWnd
, nIndex
, dwNewLong
, TRUE
);
364 return NtUserSetWindowLong(hWnd
, nIndex
, dwNewLong
, FALSE
);