mirror of
https://github.com/reactos/reactos.git
synced 2024-08-29 22:58:34 +00:00
78 lines
1.8 KiB
C
78 lines
1.8 KiB
C
#pragma once
|
|
|
|
#define IS_ATOM(x) \
|
|
(((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
|
|
|
|
typedef struct _WNDPROC_INFO
|
|
{
|
|
WNDPROC WindowProc;
|
|
BOOL IsUnicode;
|
|
} WNDPROC_INFO, *PWNDPROC_INFO;
|
|
|
|
static __inline BOOL
|
|
IsCallProcHandle(IN WNDPROC lpWndProc)
|
|
{
|
|
/* FIXME: Check for 64-bit architectures... */
|
|
return ((ULONG_PTR)lpWndProc & 0xFFFF0000) == 0xFFFF0000;
|
|
}
|
|
|
|
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);
|
|
|
|
void FASTCALL
|
|
DestroyProcessClasses(PPROCESSINFO Process );
|
|
|
|
VOID
|
|
IntDereferenceClass(IN OUT PCLS Class,
|
|
IN PDESKTOPINFO Desktop,
|
|
IN PPROCESSINFO pi);
|
|
|
|
PCLS
|
|
IntGetAndReferenceClass(PUNICODE_STRING ClassName, HINSTANCE hInstance, BOOL bDesktopThread);
|
|
|
|
BOOL FASTCALL UserRegisterSystemClasses(VOID);
|
|
|
|
VOID
|
|
UserAddCallProcToClass(IN OUT PCLS Class,
|
|
IN PCALLPROCDATA CallProc);
|
|
|
|
_Success_(return)
|
|
BOOL
|
|
NTAPI
|
|
IntGetAtomFromStringOrAtom(
|
|
_In_ PUNICODE_STRING ClassName,
|
|
_Out_ RTL_ATOM *Atom);
|
|
|
|
BOOL
|
|
IntCheckProcessDesktopClasses(IN PDESKTOP Desktop,
|
|
IN BOOL FreeOnFailure);
|
|
|
|
ULONG_PTR FASTCALL UserGetCPD(PVOID,GETCPD,ULONG_PTR);
|
|
|
|
_Must_inspect_result_
|
|
NTSTATUS
|
|
NTAPI
|
|
ProbeAndCaptureUnicodeStringOrAtom(
|
|
_Out_ _When_(return>=0, _At_(pustrOut->Buffer, _Post_ _Notnull_)) PUNICODE_STRING pustrOut,
|
|
__in_data_source(USER_MODE) _In_ PUNICODE_STRING pustrUnsafe);
|
|
|
|
BOOL FASTCALL LookupFnIdToiCls(int FnId, int *iCls);
|
|
|
|
INT
|
|
UserGetClassName(IN PCLS Class,
|
|
IN OUT PUNICODE_STRING ClassName,
|
|
IN RTL_ATOM Atom,
|
|
IN BOOL Ansi);
|
|
|
|
/* EOF */
|