[NTOSKRNL:FSRTL] Fix memory corruption when pruning tunnel cache
[reactos.git] / 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_DDEPOST (13)
18 #define USER32_CALLBACK_DDEGET (14)
19 #define USER32_CALLBACK_SETOBM (15)
20 #define USER32_CALLBACK_LPK (16)
21 #define USER32_CALLBACK_UMPD (17)
22 #define USER32_CALLBACK_MAXIMUM (17)
23
24 typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
25 {
26 WNDPROC Proc;
27 BOOL IsAnsiProc;
28 HWND Wnd;
29 UINT Msg;
30 WPARAM wParam;
31 LPARAM lParam;
32 INT lParamBufferSize;
33 LRESULT Result;
34 /* char Buffer[]; */
35 } WINDOWPROC_CALLBACK_ARGUMENTS, *PWINDOWPROC_CALLBACK_ARGUMENTS;
36
37 typedef struct _SENDASYNCPROC_CALLBACK_ARGUMENTS
38 {
39 SENDASYNCPROC Callback;
40 HWND Wnd;
41 UINT Msg;
42 ULONG_PTR Context;
43 LRESULT Result;
44 } SENDASYNCPROC_CALLBACK_ARGUMENTS, *PSENDASYNCPROC_CALLBACK_ARGUMENTS;
45
46 typedef struct _CALL_BACK_INFO
47 {
48 SENDASYNCPROC CallBack;
49 ULONG_PTR Context;
50 } CALL_BACK_INFO, * PCALL_BACK_INFO;
51
52
53 typedef struct _HOOKPROC_CALLBACK_ARGUMENTS
54 {
55 INT HookId;
56 INT Code;
57 WPARAM wParam;
58 LPARAM lParam;
59 HOOKPROC Proc;
60 INT Mod;
61 ULONG_PTR offPfn;
62 BOOLEAN Ansi;
63 LRESULT Result;
64 UINT lParamSize;
65 WCHAR ModuleName[512];
66 } HOOKPROC_CALLBACK_ARGUMENTS, *PHOOKPROC_CALLBACK_ARGUMENTS;
67
68 typedef struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
69 {
70 CREATESTRUCTW Cs; /* lpszName and lpszClass replaced by offsets */
71 HWND WndInsertAfter;
72 /* WCHAR szName[] */
73 /* WCHAR szClass[] */
74 } HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS, *PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS;
75
76 typedef struct tagCWP_Struct
77 {
78 HOOKPROC_CALLBACK_ARGUMENTS hpca;
79 CWPSTRUCT cwps;
80 PBYTE Extra[4];
81 } CWP_Struct, *PCWP_Struct;
82
83 typedef struct tagCWPR_Struct
84 {
85 HOOKPROC_CALLBACK_ARGUMENTS hpca;
86 CWPRETSTRUCT cwprs;
87 PBYTE Extra[4];
88 } CWPR_Struct, *PCWPR_Struct;
89
90 typedef struct _EVENTPROC_CALLBACK_ARGUMENTS
91 {
92 HWINEVENTHOOK hook;
93 DWORD event;
94 HWND hwnd;
95 LONG idObject;
96 LONG idChild;
97 DWORD dwEventThread;
98 DWORD dwmsEventTime;
99 WINEVENTPROC Proc;
100 INT_PTR Mod;
101 ULONG_PTR offPfn;
102 } EVENTPROC_CALLBACK_ARGUMENTS, *PEVENTPROC_CALLBACK_ARGUMENTS;
103
104 typedef struct _LOADMENU_CALLBACK_ARGUMENTS
105 {
106 HINSTANCE hModule;
107 LPCWSTR InterSource;
108 WCHAR MenuName[1];
109 } LOADMENU_CALLBACK_ARGUMENTS, *PLOADMENU_CALLBACK_ARGUMENTS;
110
111 typedef struct _COPYIMAGE_CALLBACK_ARGUMENTS
112 {
113 HANDLE hImage;
114 UINT uType;
115 int cxDesired;
116 int cyDesired;
117 UINT fuFlags;
118 } COPYIMAGE_CALLBACK_ARGUMENTS, *PCOPYIMAGE_CALLBACK_ARGUMENTS;
119
120 typedef struct _CLIENT_LOAD_LIBRARY_ARGUMENTS
121 {
122 UNICODE_STRING strLibraryName;
123 UNICODE_STRING strInitFuncName;
124 BOOL Unload;
125 BOOL ApiHook;
126 } CLIENT_LOAD_LIBRARY_ARGUMENTS, *PCLIENT_LOAD_LIBRARY_ARGUMENTS;
127
128 typedef struct _GET_CHARSET_INFO
129 {
130 LCID Locale;
131 CHARSETINFO Cs;
132 } GET_CHARSET_INFO, *PGET_CHARSET_INFO;
133
134 typedef struct _SETWNDICONS_CALLBACK_ARGUMENTS
135 {
136 HICON hIconSample;
137 HICON hIconHand;
138 HICON hIconQuestion;
139 HICON hIconBang;
140 HICON hIconNote;
141 HICON hIconWindows;
142 HICON hIconSmWindows;
143 } SETWNDICONS_CALLBACK_ARGUMENTS, *PSETWNDICONS_CALLBACK_ARGUMENTS;
144
145 typedef struct _DDEPOSTGET_CALLBACK_ARGUMENTS
146 {
147 INT Type;
148 MSG;
149 int size;
150 PVOID pvData;
151 BYTE buffer[1];
152 } DDEPOSTGET_CALLBACK_ARGUMENTS, *PDDEPOSTGET_CALLBACK_ARGUMENTS;
153
154 typedef struct _SETOBM_CALLBACK_ARGUMENTS
155 {
156 struct tagOEMBITMAPINFO oembmi[93];
157 } SETOBM_CALLBACK_ARGUMENTS, *PSETOBM_CALLBACK_ARGUMENTS;
158
159 typedef struct _LPK_CALLBACK_ARGUMENTS
160 {
161 LPWSTR lpString;
162 HDC hdc;
163 INT x;
164 INT y;
165 UINT flags;
166 RECT rect;
167 UINT count;
168 BOOL bRect;
169 } LPK_CALLBACK_ARGUMENTS, *PLPK_CALLBACK_ARGUMENTS;
170
171 NTSTATUS WINAPI
172 User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength);
173 NTSTATUS WINAPI
174 User32CallSetWndIconsFromKernel(PVOID Arguments, ULONG ArgumentLength);
175 NTSTATUS WINAPI
176 User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
177 NTSTATUS WINAPI
178 User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
179 NTSTATUS WINAPI
180 User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
181 NTSTATUS WINAPI
182 User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
183 NTSTATUS WINAPI
184 User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
185 NTSTATUS WINAPI
186 User32CallEventProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
187 NTSTATUS WINAPI
188 User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength);
189 NTSTATUS WINAPI
190 User32CallClientThreadSetupFromKernel(PVOID Arguments, ULONG ArgumentLength);
191 NTSTATUS WINAPI
192 User32CallClientLoadLibraryFromKernel(PVOID Arguments, ULONG ArgumentLength);
193 NTSTATUS WINAPI
194 User32CallGetCharsetInfo(PVOID Arguments, ULONG ArgumentLength);
195 NTSTATUS WINAPI
196 User32DeliverUserAPC(PVOID Arguments, ULONG ArgumentLength);
197 NTSTATUS WINAPI
198 User32CallDDEPostFromKernel(PVOID Arguments, ULONG ArgumentLength);
199 NTSTATUS WINAPI
200 User32CallDDEGetFromKernel(PVOID Arguments, ULONG ArgumentLength);
201 NTSTATUS WINAPI
202 User32CallOBMFromKernel(PVOID Arguments, ULONG ArgumentLength);
203 NTSTATUS WINAPI
204 User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength);
205 NTSTATUS WINAPI
206 User32CallUMPDFromKernel(PVOID Arguments, ULONG ArgumentLength);
207 #endif /* __INCLUDE_USER32_CALLBACK_H */