Sync with trunk r63786.
[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_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 LPCWSTR InterSource;
85 WCHAR MenuName[1];
86 } LOADMENU_CALLBACK_ARGUMENTS, *PLOADMENU_CALLBACK_ARGUMENTS;
87
88 typedef struct _COPYIMAGE_CALLBACK_ARGUMENTS
89 {
90 HANDLE hImage;
91 UINT uType;
92 int cxDesired;
93 int cyDesired;
94 UINT fuFlags;
95 } COPYIMAGE_CALLBACK_ARGUMENTS, *PCOPYIMAGE_CALLBACK_ARGUMENTS;
96
97 typedef struct _CLIENT_LOAD_LIBRARY_ARGUMENTS
98 {
99 UNICODE_STRING strLibraryName;
100 UNICODE_STRING strInitFuncName;
101 BOOL Unload;
102 BOOL ApiHook;
103 } CLIENT_LOAD_LIBRARY_ARGUMENTS, *PCLIENT_LOAD_LIBRARY_ARGUMENTS;
104
105 typedef struct _GET_CHARSET_INFO
106 {
107 LCID Locale;
108 CHARSETINFO Cs;
109 } GET_CHARSET_INFO, *PGET_CHARSET_INFO;
110
111 typedef struct _SETWNDICONS_CALLBACK_ARGUMENTS
112 {
113 HICON hIconSmWindows;
114 HICON hIconWindows;
115 } SETWNDICONS_CALLBACK_ARGUMENTS, *PSETWNDICONS_CALLBACK_ARGUMENTS;
116
117 NTSTATUS WINAPI
118 User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength);
119 NTSTATUS WINAPI
120 User32CallSetWndIconsFromKernel(PVOID Arguments, ULONG ArgumentLength);
121 NTSTATUS WINAPI
122 User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
123 NTSTATUS WINAPI
124 User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
125 NTSTATUS WINAPI
126 User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
127 NTSTATUS WINAPI
128 User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
129 NTSTATUS WINAPI
130 User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
131 NTSTATUS WINAPI
132 User32CallEventProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
133 NTSTATUS WINAPI
134 User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength);
135 NTSTATUS WINAPI
136 User32CallClientThreadSetupFromKernel(PVOID Arguments, ULONG ArgumentLength);
137 NTSTATUS WINAPI
138 User32CallClientLoadLibraryFromKernel(PVOID Arguments, ULONG ArgumentLength);
139 NTSTATUS WINAPI
140 User32CallGetCharsetInfo(PVOID Arguments, ULONG ArgumentLength);
141 #endif /* __INCLUDE_USER32_CALLBACK_H */