ReactOS 0.4.15-dev-7958-gcd0bb1a
callback.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Defining kernel-to-user32 callbacks
5 * COPYRIGHT: Copyright 2018 James Tabor <james.tabor@reactos.org>
6 * Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
7 */
8
9#pragma once
10
11#define DEFINE_USER32_CALLBACK(id, value, fn) id,
12
13typedef enum _USER32_CALLBACK
14{
15#include "u32cb.h"
18
19#undef DEFINE_USER32_CALLBACK
20
22{
31 /* char Buffer[]; */
33
35{
42
43typedef struct _CALL_BACK_INFO
44{
48
49
51{
64
66{
67 CREATESTRUCTW Cs; /* lpszName and lpszClass replaced by offsets */
69 /* WCHAR szName[] */
70 /* WCHAR szClass[] */
72
73typedef struct tagCWP_Struct
74{
79
80typedef struct tagCWPR_Struct
81{
86
88{
100
102{
107
109{
116
118{
124
125typedef struct _GET_CHARSET_INFO
126{
130
132{
141
143{
146 int size;
150
152{
155
157{
167
169{
176
178{
181
183{
187
189User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength);
191User32CallSetWndIconsFromKernel(PVOID Arguments, ULONG ArgumentLength);
193User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
195User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength);
197User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength);
199User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength);
201User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
203User32CallEventProcFromKernel(PVOID Arguments, ULONG ArgumentLength);
205User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength);
207User32CallClientThreadSetupFromKernel(PVOID Arguments, ULONG ArgumentLength);
209User32CallClientLoadLibraryFromKernel(PVOID Arguments, ULONG ArgumentLength);
211User32CallGetCharsetInfo(PVOID Arguments, ULONG ArgumentLength);
213User32DeliverUserAPC(PVOID Arguments, ULONG ArgumentLength);
215User32CallDDEPostFromKernel(PVOID Arguments, ULONG ArgumentLength);
217User32CallDDEGetFromKernel(PVOID Arguments, ULONG ArgumentLength);
219User32CallOBMFromKernel(PVOID Arguments, ULONG ArgumentLength);
221User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength);
223User32CallUMPDFromKernel(PVOID Arguments, ULONG ArgumentLength);
225User32CallImmProcessKeyFromKernel(PVOID Arguments, ULONG ArgumentLength);
227User32CallImmLoadLayoutFromKernel(PVOID Arguments, ULONG ArgumentLength);
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint buffer
Definition: glext.h:5915
static HDC
Definition: imagelist.c:92
static HICON
Definition: imagelist.c:84
static HWINEVENTHOOK(WINAPI *pSetWinEventHook)(DWORD
UINT_PTR HKL
Definition: msctf.idl:143
unsigned int UINT
Definition: ndis.h:50
BYTE * PBYTE
Definition: pedump.c:66
long LONG
Definition: pedump.c:60
DWORD LCID
Definition: nls.h:13
SENDASYNCPROC CallBack
Definition: callback.h:45
ULONG_PTR Context
Definition: callback.h:46
UNICODE_STRING strLibraryName
Definition: callback.h:119
UNICODE_STRING strInitFuncName
Definition: callback.h:120
CHARSETINFO Cs
Definition: callback.h:128
struct tagOEMBITMAPINFO oembmi[93]
Definition: callback.h:153
HOOKPROC_CALLBACK_ARGUMENTS hpca
Definition: callback.h:82
CWPRETSTRUCT cwprs
Definition: callback.h:83
PBYTE Extra[4]
Definition: callback.h:84
HOOKPROC_CALLBACK_ARGUMENTS hpca
Definition: callback.h:75
PBYTE Extra[4]
Definition: callback.h:77
CWPSTRUCT cwps
Definition: callback.h:76
int32_t INT_PTR
Definition: typedefs.h:64
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
struct _WINDOWPROC_CALLBACK_ARGUMENTS WINDOWPROC_CALLBACK_ARGUMENTS
struct tagCWPR_Struct * PCWPR_Struct
struct _IMMPROCESSKEY_CALLBACK_ARGUMENTS * PIMMPROCESSKEY_CALLBACK_ARGUMENTS
struct _DDEPOSTGET_CALLBACK_ARGUMENTS * PDDEPOSTGET_CALLBACK_ARGUMENTS
struct _COPYIMAGE_CALLBACK_ARGUMENTS * PCOPYIMAGE_CALLBACK_ARGUMENTS
struct _HOOKPROC_CALLBACK_ARGUMENTS HOOKPROC_CALLBACK_ARGUMENTS
struct _HOOKPROC_CALLBACK_ARGUMENTS * PHOOKPROC_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32DeliverUserAPC(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:613
NTSTATUS WINAPI User32CallClientLoadLibraryFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: hook.c:528
NTSTATUS WINAPI User32CallClientThreadSetupFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:566
struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
struct _LPK_CALLBACK_ARGUMENTS LPK_CALLBACK_ARGUMENTS
struct _IMMPROCESSKEY_CALLBACK_ARGUMENTS IMMPROCESSKEY_CALLBACK_ARGUMENTS
struct _GET_CHARSET_INFO GET_CHARSET_INFO
struct _LOADMENU_CALLBACK_ARGUMENTS * PLOADMENU_CALLBACK_ARGUMENTS
struct _HOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS * PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS
NTSTATUS WINAPI User32SetupDefaultCursors(PVOID Arguments, ULONG ArgumentLength)
Definition: cursoricon.c:48
NTSTATUS WINAPI User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: message.c:2937
struct tagCWP_Struct * PCWP_Struct
NTSTATUS WINAPI User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: window.c:24
NTSTATUS WINAPI User32CallLoadMenuFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: menu.c:657
struct _CALL_BACK_INFO CALL_BACK_INFO
NTSTATUS WINAPI User32CallDDEGetFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dde.c:288
struct tagCWP_Struct CWP_Struct
struct _LPK_CALLBACK_ARGUMENTS * PLPK_CALLBACK_ARGUMENTS
struct _WINDOWPROC_CALLBACK_ARGUMENTS * PWINDOWPROC_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallDDEPostFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dde.c:256
struct _CLIENT_LOAD_LIBRARY_ARGUMENTS CLIENT_LOAD_LIBRARY_ARGUMENTS
struct tagCWPR_Struct CWPR_Struct
NTSTATUS WINAPI User32CallSetWndIconsFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:591
NTSTATUS WINAPI User32CallImmLoadLayoutFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:717
struct _SENDASYNCPROC_CALLBACK_ARGUMENTS * PSENDASYNCPROC_CALLBACK_ARGUMENTS
struct _EVENTPROC_CALLBACK_ARGUMENTS * PEVENTPROC_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallImmProcessKeyFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:704
struct _DDEPOSTGET_CALLBACK_ARGUMENTS DDEPOSTGET_CALLBACK_ARGUMENTS
struct _IMMLOADLAYOUT_CALLBACK_OUTPUT * PIMMLOADLAYOUT_CALLBACK_OUTPUT
struct _IMMLOADLAYOUT_CALLBACK_ARGUMENTS IMMLOADLAYOUT_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32LoadSysMenuTemplateForKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: menu.c:647
struct _SENDASYNCPROC_CALLBACK_ARGUMENTS SENDASYNCPROC_CALLBACK_ARGUMENTS
struct _CALL_BACK_INFO * PCALL_BACK_INFO
NTSTATUS WINAPI User32CallGetCharsetInfo(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:577
NTSTATUS WINAPI User32CallLPKFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:652
enum _USER32_CALLBACK USER32_CALLBACK
struct _SETWNDICONS_CALLBACK_ARGUMENTS SETWNDICONS_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: hook.c:554
struct _COPYIMAGE_CALLBACK_ARGUMENTS COPYIMAGE_CALLBACK_ARGUMENTS
_USER32_CALLBACK
Definition: callback.h:14
@ USER32_CALLBACK_COUNT
Definition: callback.h:16
struct _IMMLOADLAYOUT_CALLBACK_ARGUMENTS * PIMMLOADLAYOUT_CALLBACK_ARGUMENTS
struct _SETOBM_CALLBACK_ARGUMENTS * PSETOBM_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallEventProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: hook.c:796
struct _SETOBM_CALLBACK_ARGUMENTS SETOBM_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallCopyImageFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: cursoricon.c:1969
struct _LOADMENU_CALLBACK_ARGUMENTS LOADMENU_CALLBACK_ARGUMENTS
struct _IMMLOADLAYOUT_CALLBACK_OUTPUT IMMLOADLAYOUT_CALLBACK_OUTPUT
struct _GET_CHARSET_INFO * PGET_CHARSET_INFO
NTSTATUS WINAPI User32CallUMPDFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:673
struct _EVENTPROC_CALLBACK_ARGUMENTS EVENTPROC_CALLBACK_ARGUMENTS
NTSTATUS WINAPI User32CallOBMFromKernel(PVOID Arguments, ULONG ArgumentLength)
Definition: dllmain.c:620
struct _CLIENT_LOAD_LIBRARY_ARGUMENTS * PCLIENT_LOAD_LIBRARY_ARGUMENTS
struct _SETWNDICONS_CALLBACK_ARGUMENTS * PSETWNDICONS_CALLBACK_ARGUMENTS
VOID(CALLBACK * WINEVENTPROC)(HWINEVENTHOOK, DWORD, HWND, LONG, LONG, DWORD, DWORD)
Definition: winable.h:68
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define WINAPI
Definition: msvc.h:6
LRESULT(CALLBACK * HOOKPROC)(int, WPARAM, LPARAM)
Definition: winuser.h:2899
void(CALLBACK * SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT)
Definition: winuser.h:2916
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2906
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193