Go to the source code of this file.
|
| DBG_DEFAULT_CHANNEL (UserClass) |
|
WNDPROC | GetCallProcHandle (IN PCALLPROCDATA CallProc) |
|
BOOLEAN | DestroyCallProc (_Inout_ PVOID Object) |
|
PCALLPROCDATA | CreateCallProc (IN PDESKTOP Desktop, IN WNDPROC WndProc, IN BOOL Unicode, IN PPROCESSINFO pi) |
|
BOOL | UserGetCallProcInfo (IN HANDLE hCallProc, OUT PWNDPROC_INFO wpInfo) |
|
PCALLPROCDATA FASTCALL | UserSearchForCallProc (PCALLPROCDATA pcpd, WNDPROC WndProc, GETCPD Type) |
|
ULONG_PTR FASTCALL | UserGetCPD (PVOID pvClsWnd, GETCPD Flags, ULONG_PTR ProcIn) |
|
ULONG_PTR APIENTRY | NtUserGetCPD (HWND hWnd, GETCPD Flags, ULONG_PTR ProcIn) |
|
◆ CreateCallProc()
Definition at line 29 of file callproc.c.
33{
36
37
38
45 if (NewCallProc !=
NULL)
46 {
50
51
53 }
54
55 return NewCallProc;
56}
struct _CALLPROCDATA * PCALLPROCDATA
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
WNDPROC pfnClientPrevious
struct _CALLPROCDATA * spcpdNext
BOOL FASTCALL UserDereferenceObject(PVOID Object)
PUSER_HANDLE_TABLE gHandleTable
PVOID FASTCALL UserCreateObject(PUSER_HANDLE_TABLE ht, PDESKTOP pDesktop, PTHREADINFO pti, HANDLE *h, HANDLE_TYPE type, ULONG size)
Referenced by IntCreateWindow(), and UserGetCPD().
◆ DBG_DEFAULT_CHANNEL()
DBG_DEFAULT_CHANNEL |
( |
UserClass |
| ) |
|
◆ DestroyCallProc()
Definition at line 22 of file callproc.c.
23{
26}
#define UserHMGetHandle(obj)
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
BOOL FASTCALL UserDeleteObject(HANDLE h, HANDLE_TYPE type)
Referenced by IntDestroyClass().
◆ GetCallProcHandle()
Definition at line 15 of file callproc.c.
16{
17
19}
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Referenced by UserGetCPD().
◆ NtUserGetCPD()
Definition at line 176 of file callproc.c.
180{
183
186 {
188 }
189
190
193
197}
ULONG_PTR FASTCALL UserGetCPD(PVOID pvClsWnd, GETCPD Flags, ULONG_PTR ProcIn)
static const WCHAR Cleanup[]
VOID FASTCALL UserLeave(VOID)
VOID FASTCALL UserEnterExclusive(VOID)
PWND FASTCALL UserGetWindowObject(HWND hWnd)
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
_Must_inspect_result_ _In_ ULONG Flags
Referenced by IntGetClsWndProc(), and IntGetWndProc().
◆ UserGetCallProcInfo()
Definition at line 59 of file callproc.c.
61{
63
65 hCallProc,
68 {
70 }
71
72
73
74
75
76
77
80
82}
PVOID UserGetObject(PUSER_HANDLE_TABLE ht, HANDLE handle, HANDLE_TYPE type)
◆ UserGetCPD()
Definition at line 107 of file callproc.c.
111{
117
119
122 {
123 pWnd = pvClsWnd;
125 }
126 else
127 pCls = pvClsWnd;
128
129
132
133
134 if (!CallProc)
135 {
137 {
140 }
141 else
147 if (CallProc)
148 {
151 CallProc);
153 }
154 }
156}
PCALLPROCDATA CreateCallProc(IN PDESKTOP Desktop, IN WNDPROC WndProc, IN BOOL Unicode, IN PPROCESSINFO pi)
WNDPROC GetCallProcHandle(IN PCALLPROCDATA CallProc)
PCALLPROCDATA FASTCALL UserSearchForCallProc(PCALLPROCDATA pcpd, WNDPROC WndProc, GETCPD Type)
#define InterlockedExchangePointer(Target, Value)
PVOID NTAPI PsGetCurrentThreadWin32Thread(VOID)
struct _DESKTOP * rpdeskParent
Referenced by IntGetClassWndProc(), IntGetWindowProc(), and NtUserGetCPD().
◆ UserSearchForCallProc()