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