1 #ifndef __INCLUDE_USER32_CALLBACK_H
2 #define __INCLUDE_USER32_CALLBACK_H
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_MAXIMUM (16)
23 typedef struct _WINDOWPROC_CALLBACK_ARGUMENTS
34 } WINDOWPROC_CALLBACK_ARGUMENTS
, *PWINDOWPROC_CALLBACK_ARGUMENTS
;
36 typedef struct _SENDASYNCPROC_CALLBACK_ARGUMENTS
38 SENDASYNCPROC Callback
;
43 } SENDASYNCPROC_CALLBACK_ARGUMENTS
, *PSENDASYNCPROC_CALLBACK_ARGUMENTS
;
45 typedef struct _CALL_BACK_INFO
47 SENDASYNCPROC CallBack
;
49 } CALL_BACK_INFO
, * PCALL_BACK_INFO
;
52 typedef struct _HOOKPROC_CALLBACK_ARGUMENTS
63 WCHAR ModuleName
[512];
64 } HOOKPROC_CALLBACK_ARGUMENTS
, *PHOOKPROC_CALLBACK_ARGUMENTS
;
66 typedef struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
68 CREATESTRUCTW Cs
; /* lpszName and lpszClass replaced by offsets */
72 } HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
, *PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
;
74 typedef struct _EVENTPROC_CALLBACK_ARGUMENTS
86 } EVENTPROC_CALLBACK_ARGUMENTS
, *PEVENTPROC_CALLBACK_ARGUMENTS
;
88 typedef struct _LOADMENU_CALLBACK_ARGUMENTS
93 } LOADMENU_CALLBACK_ARGUMENTS
, *PLOADMENU_CALLBACK_ARGUMENTS
;
95 typedef struct _COPYIMAGE_CALLBACK_ARGUMENTS
102 } COPYIMAGE_CALLBACK_ARGUMENTS
, *PCOPYIMAGE_CALLBACK_ARGUMENTS
;
104 typedef struct _CLIENT_LOAD_LIBRARY_ARGUMENTS
106 UNICODE_STRING strLibraryName
;
107 UNICODE_STRING strInitFuncName
;
110 } CLIENT_LOAD_LIBRARY_ARGUMENTS
, *PCLIENT_LOAD_LIBRARY_ARGUMENTS
;
112 typedef struct _GET_CHARSET_INFO
116 } GET_CHARSET_INFO
, *PGET_CHARSET_INFO
;
118 typedef struct _SETWNDICONS_CALLBACK_ARGUMENTS
126 HICON hIconSmWindows
;
127 } SETWNDICONS_CALLBACK_ARGUMENTS
, *PSETWNDICONS_CALLBACK_ARGUMENTS
;
129 typedef struct _DDEPOSTGET_CALLBACK_ARGUMENTS
136 } DDEPOSTGET_CALLBACK_ARGUMENTS
, *PDDEPOSTGET_CALLBACK_ARGUMENTS
;
138 typedef struct _SETOBM_CALLBACK_ARGUMENTS
140 struct tagOEMBITMAPINFO oembmi
[93];
141 } SETOBM_CALLBACK_ARGUMENTS
, *PSETOBM_CALLBACK_ARGUMENTS
;
143 typedef struct _LPK_CALLBACK_ARGUMENTS
153 } LPK_CALLBACK_ARGUMENTS
, *PLPK_CALLBACK_ARGUMENTS
;
156 User32CallCopyImageFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
158 User32CallSetWndIconsFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
160 User32CallWindowProcFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
162 User32CallSendAsyncProcForKernel(PVOID Arguments
, ULONG ArgumentLength
);
164 User32LoadSysMenuTemplateForKernel(PVOID Arguments
, ULONG ArgumentLength
);
166 User32SetupDefaultCursors(PVOID Arguments
, ULONG ArgumentLength
);
168 User32CallHookProcFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
170 User32CallEventProcFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
172 User32CallLoadMenuFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
174 User32CallClientThreadSetupFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
176 User32CallClientLoadLibraryFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
178 User32CallGetCharsetInfo(PVOID Arguments
, ULONG ArgumentLength
);
180 User32DeliverUserAPC(PVOID Arguments
, ULONG ArgumentLength
);
182 User32CallDDEPostFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
184 User32CallDDEGetFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
186 User32CallOBMFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
188 User32CallLPKFromKernel(PVOID Arguments
, ULONG ArgumentLength
);
189 #endif /* __INCLUDE_USER32_CALLBACK_H */