ReactOS  0.4.13-dev-259-g5ca9c9c
class.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define IS_ATOM(x) \
4  (((ULONG_PTR)(x) > 0x0) && ((ULONG_PTR)(x) < 0x10000))
5 
6 typedef struct _WNDPROC_INFO
7 {
11 
12 static __inline BOOL
14 {
15  /* FIXME: Check for 64-bit architectures... */
16  return ((ULONG_PTR)lpWndProc & 0xFFFF0000) == 0xFFFF0000;
17 }
18 
19 BOOLEAN
21 
25  IN BOOL Unicode,
27 
28 BOOL
29 UserGetCallProcInfo(IN HANDLE hCallProc,
30  OUT PWNDPROC_INFO wpInfo);
31 
32 void FASTCALL
34 
35 VOID
39 
40 PCLS
42 
44 
45 VOID
47  IN PCALLPROCDATA CallProc);
48 
49 _Success_(return)
50 BOOL
51 NTAPI
52 IntGetAtomFromStringOrAtom(
53  _In_ PUNICODE_STRING ClassName,
55 
56 BOOL
58  IN BOOL FreeOnFailure);
59 
61 
64 NTAPI
66  _Out_ _When_(return>=0, _At_(pustrOut->Buffer, _Post_ _Notnull_)) PUNICODE_STRING pustrOut,
67  __in_data_source(USER_MODE) _In_ PUNICODE_STRING pustrUnsafe);
68 
69 BOOL FASTCALL LookupFnIdToiCls(int FnId, int *iCls);
70 
71 INT
73  IN OUT PUNICODE_STRING ClassName,
75  IN BOOL Ansi);
76 
77 /* EOF */
#define IN
Definition: typedefs.h:38
#define _Must_inspect_result_
Definition: no_sal2.h:314
PCLS IntGetAndReferenceClass(PUNICODE_STRING ClassName, HINSTANCE hInstance, BOOL bDesktopThread)
Definition: class.c:1407
#define _Notnull_
Definition: no_sal2.h:316
unsigned short RTL_ATOM
Definition: atom.c:42
BOOL UserGetCallProcInfo(IN HANDLE hCallProc, OUT PWNDPROC_INFO wpInfo)
Definition: callproc.c:59
_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)
Definition: class.c:150
enum _GETCPD GETCPD
BOOLEAN DestroyCallProc(_Inout_ PVOID Object)
Definition: callproc.c:22
LONG NTSTATUS
Definition: precomp.h:26
VOID IntDereferenceClass(IN OUT PCLS Class, IN PDESKTOPINFO Desktop, IN PPROCESSINFO pi)
Definition: class.c:792
BOOL FASTCALL UserRegisterSystemClasses(VOID)
Definition: class.c:2276
VOID UserAddCallProcToClass(IN OUT PCLS Class, IN PCALLPROCDATA CallProc)
Definition: class.c:400
struct _WNDPROC_INFO WNDPROC_INFO
_Out_ RTL_ATOM * Atom
Definition: class.h:54
int FnId
Definition: class.c:106
#define FASTCALL
Definition: nt_native.h:50
int32_t INT
Definition: typedefs.h:56
uint32_t ULONG_PTR
Definition: typedefs.h:63
_Success_(return) BOOL NTAPI IntGetAtomFromStringOrAtom(_In_ PUNICODE_STRING ClassName
#define _Post_
Definition: no_sal2.h:446
HINSTANCE hInstance
Definition: charmap.c:20
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned char BOOLEAN
#define _Out_
Definition: no_sal2.h:323
Definition: ntuser.h:533
#define _At_(target, annos)
Definition: no_sal2.h:11
ULONG_PTR FASTCALL UserGetCPD(PVOID, GETCPD, ULONG_PTR)
Definition: callproc.c:107
_Must_inspect_result_ _In_ __in_data_source(USER_MODE) SIZE_T Size
BOOL FASTCALL LookupFnIdToiCls(int FnId, int *iCls)
Definition: class.c:131
INT UserGetClassName(IN PCLS Class, IN OUT PUNICODE_STRING ClassName, IN RTL_ATOM Atom, IN BOOL Ansi)
Definition: class.c:1604
#define _Inout_
Definition: no_sal2.h:244
static IUnknown Object
Definition: main.c:512
static DWORD pi
Definition: protocol.c:150
WNDPROC WindowProc
Definition: class.h:8
PCALLPROCDATA CreateCallProc(IN PDESKTOP Desktop, IN WNDPROC WndProc, IN BOOL Unicode, IN PPROCESSINFO pi)
Definition: callproc.c:29
BOOL IntCheckProcessDesktopClasses(IN PDESKTOP Desktop, IN BOOL FreeOnFailure)
Definition: class.c:989
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
Definition: solitaire.cpp:598
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2859
#define _In_
Definition: no_sal2.h:204
BOOL IsUnicode
Definition: class.h:9
void FASTCALL DestroyProcessClasses(PPROCESSINFO Process)
Definition: class.c:300
struct _WNDPROC_INFO * PWNDPROC_INFO
#define _When_(expr, annos)
Definition: no_sal2.h:639
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
#define OUT
Definition: typedefs.h:39
static __inline BOOL IsCallProcHandle(IN WNDPROC lpWndProc)
Definition: class.h:13