remake refcounting
[reactos.git] / reactos / subsys / win32k / include / userfuncs.h
1 #ifndef _WIN32K_USERFUNCS_H
2 #define _WIN32K_USERFUNCS_H
3
4 //currently unused
5 #define ASSERT_REFS(obj) ASSERT(ObmGetReferenceCount(obj) >= 2)
6
7 #define UserReferenceWindowObjectCo(o) IntReferenceWindowObject(o)
8 #define UserDereferenceWindowObjectCo(o) IntReleaseWindowObject(o)
9
10 #define UserReferenceAccelObjectCo(o) IntReferenceWindowObject(o)
11 #define UserDereferenceAccelObjectCo(o) IntReleaseWindowObject(o)
12
13 extern PUSER_HANDLE_TABLE gHandleTable;
14
15
16 /*************** WINSTA.C ***************/
17
18 HWINSTA FASTCALL UserGetProcessWindowStation(VOID);
19
20 /*************** INPUT.C ***************/
21
22 NTSTATUS FASTCALL
23 UserAcquireOrReleaseInputOwnership(BOOLEAN Release);
24
25 /*************** WINPOS.C ***************/
26
27 BOOL FASTCALL
28 UserGetClientOrigin(HWND hWnd, LPPOINT Point);
29
30 /*************** FOCUS.C ***************/
31
32 HWND FASTCALL UserGetActiveWindow();
33
34 HWND FASTCALL UserGetForegroundWindow(VOID);
35
36 HWND FASTCALL UserSetFocus(HWND hWnd);
37
38 /*************** WINDC.C ***************/
39
40 INT FASTCALL
41 UserReleaseDC(PWINDOW_OBJECT Window, HDC hDc);
42
43 HDC FASTCALL
44 UserGetDCEx(PWINDOW_OBJECT Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
45
46 DWORD FASTCALL
47 UserGetWindowDC(PWINDOW_OBJECT Wnd);
48
49 /*************** METRIC.C ***************/
50
51 ULONG FASTCALL
52 UserGetSystemMetrics(ULONG Index);
53
54 /*************** KEYBOARD.C ***************/
55
56 DWORD FASTCALL UserGetKeyState(DWORD key);
57
58 DWORD FASTCALL UserGetKeyboardType(DWORD TypeFlag);
59
60 HKL FASTCALL UserGetKeyboardLayout(DWORD dwThreadId);
61
62
63 /*************** MISC.C ***************/
64
65 BOOL FASTCALL
66 UserSystemParametersInfo(
67 UINT uiAction,
68 UINT uiParam,
69 PVOID pvParam,
70 UINT fWinIni);
71
72 /*************** MESSAGE.C ***************/
73
74 BOOL FASTCALL
75 UserPostMessage(HWND Wnd,
76 UINT Msg,
77 WPARAM wParam,
78 LPARAM lParam);
79
80
81
82 /*************** PAINTING.C ***************/
83
84 BOOL FASTCALL UserValidateRgn(HWND hWnd, HRGN hRgn);
85
86
87 /*************** WINDOW.C ***************/
88
89 PWINDOW_OBJECT FASTCALL UserGetWindowObjectNoRef(HWND hWnd);
90
91 VOID FASTCALL
92 co_DestroyThreadWindows(struct _ETHREAD *Thread);
93
94 HWND FASTCALL UserGetShellWindow();
95
96 HWND FASTCALL UserSetParent(HWND hWndChild, HWND hWndNewParent);
97
98 HWND FASTCALL UserGetWindow(HWND hWnd, UINT Relationship);
99
100 HDC FASTCALL
101 UserGetDCEx(PWINDOW_OBJECT Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
102
103 BOOLEAN FASTCALL co_UserDestroyWindow(PWINDOW_OBJECT Wnd);
104
105 LONG FASTCALL UserGetWindowLong(HWND hWnd, DWORD Index, BOOL Ansi);
106
107 HWND FASTCALL UserGetAncestor(HWND hWnd, UINT Type);
108
109 /*************** MENU.C ***************/
110
111 HMENU FASTCALL UserCreateMenu(BOOL PopupMenu);
112
113 BOOL FASTCALL
114 UserSetMenuDefaultItem(
115 HMENU hMenu,
116 UINT uItem,
117 UINT fByPos);
118
119 BOOL FASTCALL UserDestroyMenu(HMENU hMenu);
120
121 BOOL FASTCALL
122 UserMenuItemInfo(
123 HMENU Menu,
124 UINT Item,
125 BOOL ByPosition,
126 PROSMENUITEMINFO UnsafeItemInfo,
127 BOOL SetOrGet);
128
129 BOOL FASTCALL
130 UserMenuInfo(
131 HMENU Menu,
132 PROSMENUINFO UnsafeMenuInfo,
133 BOOL SetOrGet);
134
135
136 /*************** SCROLLBAR.C ***************/
137
138 DWORD FASTCALL
139 co_UserShowScrollBar(HWND hWnd, int wBar, DWORD bShow);
140
141
142 #endif /* _WIN32K_USERFUNCS_H */
143
144 /* EOF */