[Win32k]
[reactos.git] / reactos / win32ss / include / 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_EVENTPROC (5)
10 #define USER32_CALLBACK_LOADMENU (6)
11 #define USER32_CALLBACK_CLIENTTHREADSTARTUP (7)
12 #define USER32_CALLBACK_CLIENTLOADLIBRARY (8)
13 #define USER32_CALLBACK_GETCHARSETINFO (9)
14 #define USER32_CALLBACK_COPYIMAGE (10)
15 #define USER32_CALLBACK_SETWNDICONS (11)
16 #define USER32_CALLBACK_DELIVERUSERAPC (12)
17 #define USER32_CALLBACK_MAXIMUM (12)
18
19 typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
20 {
21 WNDPROC Proc;
22 BOOL IsAnsiProc;
23 HWND Wnd;
24 UINT Msg;
25 WPARAM wParam;
26 LPARAM lParam;
27 INT lParamBufferSize;
28 LRESULT Result;
29 /* char Buffer[]; */
30 } WINDOWPROC_CALLBACK_ARGUMENTS, *PWINDOWPROC_CALLBACK_ARGUMENTS;
31
32 typedef struct _SENDASYNCPROC_CALLBACK_ARGUMENTS
33 {
34 SENDASYNCPROC Callback;
35 HWND Wnd;
36 UINT Msg;
37 ULONG_PTR Context;
38 LRESULT Result;
39 } SENDASYNCPROC_CALLBACK_ARGUMENTS, *PSENDASYNCPROC_CALLBACK_ARGUMENTS;
40
41 typedef struct _CALL_BACK_INFO
42 {
43 SENDASYNCPROC CallBack;
44 ULONG_PTR Context;
45 } CALL_BACK_INFO, * PCALL_BACK_INFO;
46
47
48 typedef struct _HOOKPROC_CALLBACK_ARGUMENTS
49 {
50 INT HookId;
51 INT Code;
52 WPARAM wParam;
53 LPARAM lParam;
54 HOOKPROC Proc;
55 INT Mod;
56 ULONG_PTR offPfn;
57 BOOLEAN Ansi;
58 LRESULT Result;
59 WCHAR ModuleName[512];
60 } HOOKPROC_CALLBACK_ARGUMENTS, *PHOOKPROC_CALLBACK_ARGUMENTS;
61
62 typedef struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
63 {
64 CREATESTRUCTW Cs; /* lpszName and lpszClass replaced by offsets */
65 HWND WndInsertAfter;
66 /* WCHAR szName[] */
67 /* WCHAR szClass[] */
68 } HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS, *PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS;
69
70 typedef struct _EVENTPROC_CALLBACK_ARGUMENTS
71 {
72 HWINEVENTHOOK hook;
73 DWORD event;
74 HWND hwnd;
75 LONG idObject;
76 LONG idChild;
77 DWORD dwEventThread;
78 DWORD dwmsEventTime;
79 WINEVENTPROC Proc;
80 } EVENTPROC_CALLBACK_ARGUMENTS, *PEVENTPROC_CALLBACK_ARGUMENTS;
81
82 typedef struct _LOADMENU_CALLBACK_ARGUMENTS
83 {
84 HINSTANCE hModule;
85 LPCWSTR InterSource;
86 WCHAR MenuName[1];
87 } LOADMENU_CALLBACK_ARGUMENTS, *PLOADMENU_CALLBACK_ARGUMENTS;
88
89 typedef struct _COPYIMAGE_CALLBACK_ARGUMENTS
90 {
91 HANDLE hImage;
92 UINT uType;
93 int cxDesired;
94 int cyDesired;
95 UINT fuFlags;
96 } COPYIMAGE_CALLBACK_ARGUMENTS, *PCOPYIMAGE_CALLBACK_ARGUMENTS;
97
98 typedef struct _CLIENT_LOAD_LIBRARY_ARGUMENTS
99 {
100 UNICODE_STRING strLibraryName;
101 UNICODE_STRING strInitFuncName;
102 BOOL Unload;
103 BOOL ApiHook;
104 } CLIENT_LOAD_LIBRARY_ARGUMENTS, *PCLIENT_LOAD_LIBRARY_ARGUMENTS;
105
106 typedef struct _GET_CHARSET_INFO
107 {
108 LCID Locale;
109 CHARSETINFO Cs;
110 } GET_CHARSET_INFO, *PGET_CHARSET_INFO;
111
112 typedef struct _SETWNDICONS_CALLBACK_ARGUMENTS
113 {
114 HICON hIconSmWindows;
115 HICON hIconWindows;
116 } SETWNDICONS_CALLBACK_ARGUMENTS, *PSETWNDICONS_CALLBACK_ARGUMENTS;
117
118 NTSTATUS WINAPI
119 User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength);
120 NTSTATUS WINAPI
121 User32CallSetWndIconsFromKernel(PVOID Arguments, ULONG ArgumentLength);
122 NTSTATUS WINAPI
123 User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
124 NTSTATUS WINAPI
125 User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
126 NTSTATUS WINAPI
127 User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
128 NTSTATUS WINAPI
129 User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
130 NTSTATUS WINAPI
131 User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
132 NTSTATUS WINAPI
133 User32CallEventProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
134 NTSTATUS WINAPI
135 User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength);
136 NTSTATUS WINAPI
137 User32CallClientThreadSetupFromKernel(PVOID Arguments, ULONG ArgumentLength);
138 NTSTATUS WINAPI
139 User32CallClientLoadLibraryFromKernel(PVOID Arguments, ULONG ArgumentLength);
140 NTSTATUS WINAPI
141 User32CallGetCharsetInfo(PVOID Arguments, ULONG ArgumentLength);
142 NTSTATUS WINAPI
143 User32DeliverUserAPC(PVOID Arguments, ULONG ArgumentLength);
144 #endif /* __INCLUDE_USER32_CALLBACK_H */