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