Synchronize up to trunk's revision r57756.
[reactos.git] / win32ss / user / ntuser / userfuncs.h
1 #pragma once
2
3 PMENU_OBJECT FASTCALL UserGetMenuObject(HMENU hMenu);
4
5 #define ASSERT_REFS_CO(_obj_) \
6 { \
7 LONG ref = ((PHEAD)_obj_)->cLockObj;\
8 if (!(ref >= 1)){ \
9 ERR_CH(UserObj, "ASSERT: obj 0x%p, refs %ld\n", _obj_, ref); \
10 ASSERT(FALSE); \
11 } \
12 }
13
14 #if 0
15 #define ASSERT_REFS_CO(_obj_) \
16 { \
17 PSINGLE_LIST_ENTRY e; \
18 BOOL gotit=FALSE; \
19 LONG ref = ((PHEAD)_obj_)->cLockObj;\
20 if (!(ref >= 1)){ \
21 ERR_CH(UserObj, "obj 0x%p, refs %i\n", _obj_, ref); \
22 ASSERT(FALSE); \
23 } \
24 \
25 e = PsGetCurrentThreadWin32Thread()->ReferencesList.Next; \
26 while (e) \
27 { \
28 PUSER_REFERENCE_ENTRY ref = CONTAINING_RECORD(e, USER_REFERENCE_ENTRY, Entry); \
29 if (ref->obj == _obj_){ gotit=TRUE; break; } \
30 e = e->Next; \
31 } \
32 ASSERT(gotit); \
33 }
34 #endif
35
36 #define DUMP_REFS(obj) TRACE_CH(UserObj,"obj 0x%x, refs %i\n",obj, ((PHEAD)obj)->cLockObj)
37
38 PWND FASTCALL IntGetWindowObject(HWND hWnd);
39
40 /*************** WINSTA.C ***************/
41
42 HWINSTA FASTCALL UserGetProcessWindowStation(VOID);
43
44 /*************** FOCUS.C ***************/
45
46 HWND FASTCALL UserGetActiveWindow(VOID);
47
48 HWND FASTCALL UserGetForegroundWindow(VOID);
49
50 HWND FASTCALL co_UserSetFocus(PWND Window);
51
52 /*************** WINDC.C ***************/
53
54 INT FASTCALL UserReleaseDC(PWND Window, HDC hDc, BOOL EndPaint);
55 HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
56 HDC FASTCALL UserGetWindowDC(PWND Wnd);
57
58 /*************** SESSION.C ***************/
59
60 extern PRTL_ATOM_TABLE gAtomTable;
61 NTSTATUS FASTCALL InitSessionImpl(VOID);
62
63 /*************** METRIC.C ***************/
64
65 BOOL NTAPI InitMetrics(VOID);
66 LONG NTAPI UserGetSystemMetrics(ULONG Index);
67
68 /*************** KEYBOARD.C ***************/
69
70 DWORD FASTCALL UserGetKeyState(DWORD key);
71 DWORD FASTCALL UserGetKeyboardType(DWORD TypeFlag);
72 HKL FASTCALL UserGetKeyboardLayout(DWORD dwThreadId);
73
74
75 /*************** MISC.C ***************/
76
77 BOOL FASTCALL
78 UserSystemParametersInfo(
79 UINT uiAction,
80 UINT uiParam,
81 PVOID pvParam,
82 UINT fWinIni);
83
84 VOID FASTCALL IntSetWindowState(PWND, UINT);
85 VOID FASTCALL IntClearWindowState(PWND, UINT);
86
87 /*************** MESSAGE.C ***************/
88
89 BOOL FASTCALL
90 UserPostMessage(HWND Wnd,
91 UINT Msg,
92 WPARAM wParam,
93 LPARAM lParam);
94
95 /*************** WINDOW.C ***************/
96
97 PWND FASTCALL UserGetWindowObject(HWND hWnd);
98 VOID FASTCALL co_DestroyThreadWindows(struct _ETHREAD *Thread);
99 HWND FASTCALL UserGetShellWindow(VOID);
100 HDC FASTCALL UserGetDCEx(PWND Window OPTIONAL, HANDLE ClipRegion, ULONG Flags);
101 BOOLEAN FASTCALL co_UserDestroyWindow(PWND Wnd);
102 PWND FASTCALL UserGetAncestor(PWND Wnd, UINT Type);
103
104 /*************** MENU.C ***************/
105
106 HMENU FASTCALL UserCreateMenu(BOOL PopupMenu);
107 BOOL FASTCALL UserSetMenuDefaultItem(PMENU_OBJECT Menu, UINT uItem, UINT fByPos);
108 BOOL FASTCALL UserDestroyMenu(HMENU hMenu);
109
110 /*************** SCROLLBAR.C ***************/
111
112 DWORD FASTCALL
113 co_UserShowScrollBar(PWND Wnd, int nBar, BOOL fShowH, BOOL fShowV);
114
115 /* EOF */