4 (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
6 typedef struct _WNDPROC_INFO
10 } WNDPROC_INFO
, *PWNDPROC_INFO
;
13 IsCallProcHandle(IN WNDPROC lpWndProc
)
15 /* FIXME: Check for 64-bit architectures... */
16 return ((ULONG_PTR
)lpWndProc
& 0xFFFF0000) == 0xFFFF0000;
20 DestroyCallProc(IN PDESKTOPINFO Desktop
,
21 IN OUT PCALLPROCDATA CallProc
);
24 CreateCallProc(IN PDESKTOP Desktop
,
30 UserGetCallProcInfo(IN HANDLE hCallProc
,
31 OUT PWNDPROC_INFO wpInfo
);
34 DestroyProcessClasses(PPROCESSINFO Process
);
37 IntDereferenceClass(IN OUT PCLS Class
,
38 IN PDESKTOPINFO Desktop
,
42 IntGetAndReferenceClass(PUNICODE_STRING ClassName
, HINSTANCE hInstance
, BOOL bDesktopThread
);
44 BOOL FASTCALL
UserRegisterSystemClasses(VOID
);
47 UserAddCallProcToClass(IN OUT PCLS Class
,
48 IN PCALLPROCDATA CallProc
);
52 IntGetAtomFromStringOrAtom(
53 _In_ PUNICODE_STRING ClassName
,
54 _Out_ RTL_ATOM
*Atom
);
57 IntCheckProcessDesktopClasses(IN PDESKTOP Desktop
,
58 IN BOOL FreeOnFailure
);
60 ULONG_PTR FASTCALL
UserGetCPD(PVOID
,GETCPD
,ULONG_PTR
);
65 ProbeAndCaptureUnicodeStringOrAtom(
66 _Out_
_When_(return>=0, _At_(pustrOut
->Buffer
, _Post_ _Notnull_
)) PUNICODE_STRING pustrOut
,
67 __in_data_source(USER_MODE
) _In_ PUNICODE_STRING pustrUnsafe
);