(Re)move USER32 headers from include/user32.
[reactos.git] / reactos / include / win32k / callback.h
1 #ifndef __INCLUDE_USER32_CALLBACK_H
2 #define __INCLUDE_USER32_CALLBACK_H
3
4 #define USER32_CALLBACK_WINDOWPROC (0)
5 #define USER32_CALLBACK_SENDASYNCPROC (1)
6 #define USER32_CALLBACK_LOADSYSMENUTEMPLATE (2)
7 #define USER32_CALLBACK_LOADDEFAULTCURSORS (3)
8 #define USER32_CALLBACK_HOOKPROC (4)
9 #define USER32_CALLBACK_MAXIMUM (4)
10
11 typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
12 {
13 WNDPROC Proc;
14 BOOL IsAnsiProc;
15 HWND Wnd;
16 UINT Msg;
17 WPARAM wParam;
18 LPARAM lParam;
19 INT lParamBufferSize;
20 LRESULT Result;
21 /* char Buffer[]; */
22 } WINDOWPROC_CALLBACK_ARGUMENTS, *PWINDOWPROC_CALLBACK_ARGUMENTS;
23
24 typedef struct _SENDASYNCPROC_CALLBACK_ARGUMENTS
25 {
26 SENDASYNCPROC Callback;
27 HWND Wnd;
28 UINT Msg;
29 ULONG_PTR Context;
30 LRESULT Result;
31 } SENDASYNCPROC_CALLBACK_ARGUMENTS, *PSENDASYNCPROC_CALLBACK_ARGUMENTS;
32
33 typedef struct _HOOKPROC_CALLBACK_ARGUMENTS
34 {
35 INT HookId;
36 INT Code;
37 WPARAM wParam;
38 LPARAM lParam;
39 HOOKPROC Proc;
40 BOOLEAN Ansi;
41 UINT ModuleNameLength;
42 WCHAR ModuleName[1];
43 } HOOKPROC_CALLBACK_ARGUMENTS, *PHOOKPROC_CALLBACK_ARGUMENTS;
44
45 typedef struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
46 {
47 CREATESTRUCTW Cs; /* lpszName and lpszClass replaced by offsets */
48 HWND WndInsertAfter;
49 /* WCHAR szName[] */
50 /* WCHAR szClass[] */
51 } HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS, *PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS;
52
53 NTSTATUS STDCALL
54 User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
55 NTSTATUS STDCALL
56 User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
57 NTSTATUS STDCALL
58 User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
59 NTSTATUS STDCALL
60 User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
61 NTSTATUS STDCALL
62 User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
63
64 #endif /* __INCLUDE_USER32_CALLBACK_H */