WIN32K code cleanup.
[reactos.git] / reactos / subsys / win32k / include / class.h
1 #ifndef __WIN32K_CLASS_H
2 #define __WIN32K_CLASS_H
3
4 #include <windows.h>
5 #include <ddk/ntddk.h>
6 #include <napi/win32.h>
7
8 #define IS_ATOM(x) \
9 (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
10
11 typedef struct _WNDCLASS_OBJECT
12 {
13 WNDCLASSEX Class;
14 BOOL Unicode;
15 LIST_ENTRY ListEntry;
16 } WNDCLASS_OBJECT, *PWNDCLASS_OBJECT;
17
18 NTSTATUS FASTCALL
19 InitClassImpl(VOID);
20
21 NTSTATUS FASTCALL
22 CleanupClassImpl(VOID);
23
24 NTSTATUS STDCALL
25 ClassReferenceClassByName(PW32PROCESS Process,
26 PWNDCLASS_OBJECT *Class,
27 LPWSTR ClassName);
28
29 NTSTATUS FASTCALL
30 ClassReferenceClassByAtom(PWNDCLASS_OBJECT *Class,
31 RTL_ATOM ClassAtom);
32
33 NTSTATUS FASTCALL
34 ClassReferenceClassByNameOrAtom(PWNDCLASS_OBJECT *Class,
35 LPWSTR ClassNameOrAtom);
36 PWNDCLASS_OBJECT FASTCALL
37 W32kCreateClass(LPWNDCLASSEX lpwcx,
38 BOOL bUnicodeClass);
39 struct _WINDOW_OBJECT;
40 ULONG FASTCALL
41 W32kGetClassLong(struct _WINDOW_OBJECT* WindowObject, ULONG Offset);
42
43 #endif /* __WIN32K_CLASS_H */
44
45 /* EOF */