fix bug 838 (Sol.exe is missing it's menubar)
[reactos.git] / reactos / subsys / win32k / include / class.h
index ca3af54..e80054e 100644 (file)
@@ -1,42 +1,65 @@
-#ifndef __WIN32K_CLASS_H
-#define __WIN32K_CLASS_H
-
-#include <windows.h>
-#include <ddk/ntddk.h>
-#include <napi/win32.h>
+#ifndef _WIN32K_CLASS_H
+#define _WIN32K_CLASS_H
 
 #define IS_ATOM(x) \
   (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
 
 typedef struct _WNDCLASS_OBJECT
 {
-  WNDCLASSEX Class;
+  UINT    cbSize;
+  LONG    refs;                  /* windows using this class (is 0 after class creation) */
+  UINT    style;
+  WNDPROC lpfnWndProcA;
+  WNDPROC lpfnWndProcW;
+  int     cbClsExtra;
+  int     cbWndExtra;
+  HANDLE  hInstance;
+  HICON   hIcon;
+  HCURSOR hCursor;
+  HBRUSH  hbrBackground;
+  HMENU   hMenu;
+  UNICODE_STRING lpszMenuName;
+  RTL_ATOM Atom;
+  HICON   hIconSm;
   BOOL Unicode;
-  LIST_ENTRY ListEntry;
+  BOOL Global;
+  LIST_ENTRY ListEntry;          /* linked into owning process */
+  PCHAR   ExtraData;
 } WNDCLASS_OBJECT, *PWNDCLASS_OBJECT;
 
-NTSTATUS
+NTSTATUS FASTCALL
 InitClassImpl(VOID);
 
-NTSTATUS
+NTSTATUS FASTCALL
 CleanupClassImpl(VOID);
 
-NTSTATUS
-ClassReferenceClassByName(PW32PROCESS Process,
-                         PWNDCLASS_OBJECT *Class,
-                         LPWSTR ClassName);
+void FASTCALL DestroyProcessClasses(PW32PROCESS Process );
+
+inline VOID FASTCALL 
+ClassDerefObject(PWNDCLASS_OBJECT Class);
+
+inline VOID FASTCALL 
+ClassRefObject(PWNDCLASS_OBJECT Class);
+
+PWNDCLASS_OBJECT FASTCALL
+ClassGetClassByAtom(
+   RTL_ATOM Atom,
+   HINSTANCE hInstance);
+
+PWNDCLASS_OBJECT FASTCALL
+ClassGetClassByName(
+   LPCWSTR ClassName,
+   HINSTANCE hInstance);
 
-NTSTATUS
-ClassReferenceClassByAtom(PWNDCLASS_OBJECT *Class,
-                         RTL_ATOM ClassAtom);
+PWNDCLASS_OBJECT FASTCALL
+ClassGetClassByNameOrAtom(
+   LPCWSTR ClassNameOrAtom,
+   HINSTANCE hInstance);
 
-NTSTATUS
-ClassReferenceClassByNameOrAtom(PWNDCLASS_OBJECT *Class,
-                               LPWSTR ClassNameOrAtom);
-PWNDCLASS_OBJECT
-W32kCreateClass(LPWNDCLASSEX lpwcx,
-               BOOL bUnicodeClass);
+struct _WINDOW_OBJECT;
+ULONG FASTCALL
+IntGetClassLong(struct _WINDOW_OBJECT *WindowObject, ULONG Offset, BOOL Ansi);
 
-#endif /* __WIN32K_CLASS_H */
+#endif /* _WIN32K_CLASS_H */
 
 /* EOF */