3 FORCEINLINE PMENU
UserGetMenuObject(HMENU hMenu
)
5 PMENU pMenu
= UserGetObject(gHandleTable
, hMenu
, TYPE_MENU
);
8 EngSetLastError(ERROR_INVALID_MENU_HANDLE
);
13 #define ASSERT_REFS_CO(_obj_) \
15 LONG ref = ((PHEAD)_obj_)->cLockObj;\
17 ERR_CH(UserObj, "ASSERT: obj 0x%p, refs %ld\n", _obj_, ref); \
23 #define ASSERT_REFS_CO(_obj_) \
25 PSINGLE_LIST_ENTRY e; \
27 LONG ref = ((PHEAD)_obj_)->cLockObj;\
29 ERR_CH(UserObj, "obj 0x%p, refs %i\n", _obj_, ref); \
33 e = PsGetCurrentThreadWin32Thread()->ReferencesList.Next; \
36 PUSER_REFERENCE_ENTRY ref = CONTAINING_RECORD(e, USER_REFERENCE_ENTRY, Entry); \
37 if (ref->obj == _obj_){ gotit=TRUE; break; } \
44 #define DUMP_REFS(obj) TRACE_CH(UserObj,"obj 0x%x, refs %i\n",obj, ((PHEAD)obj)->cLockObj)
46 PWND FASTCALL
IntGetWindowObject(HWND hWnd
);
48 /*************** DDE.C ****************/
50 BOOL FASTCALL
IntDdeSendMessageHook(PWND
,UINT
,WPARAM
,LPARAM
);
51 BOOL APIENTRY
IntDdePostMessageHook(IN PWND
,IN UINT
,IN WPARAM
,IN OUT LPARAM
*,IN OUT LONG_PTR
*);
52 BOOL APIENTRY
IntDdeGetMessageHook(PMSG
,LONG_PTR
);
54 /*************** MAIN.C ***************/
56 NTSTATUS NTAPI
InitThreadCallback(PETHREAD Thread
);
58 /*************** WINSTA.C ***************/
60 HWINSTA FASTCALL
UserGetProcessWindowStation(VOID
);
62 /*************** FOCUS.C ***************/
64 HWND FASTCALL
UserGetActiveWindow(VOID
);
66 HWND FASTCALL
UserGetForegroundWindow(VOID
);
68 HWND FASTCALL
co_UserSetFocus(PWND Window
);
70 /*************** WINDC.C ***************/
72 INT FASTCALL
UserReleaseDC(PWND Window
, HDC hDc
, BOOL EndPaint
);
73 HDC FASTCALL
UserGetDCEx(PWND Window OPTIONAL
, HANDLE ClipRegion
, ULONG Flags
);
74 HDC FASTCALL
UserGetWindowDC(PWND Wnd
);
76 /*************** SESSION.C ***************/
78 extern PRTL_ATOM_TABLE gAtomTable
;
79 NTSTATUS FASTCALL
InitSessionImpl(VOID
);
81 /*************** METRIC.C ***************/
83 BOOL NTAPI
InitMetrics(VOID
);
84 LONG NTAPI
UserGetSystemMetrics(ULONG Index
);
86 /*************** KEYBOARD.C ***************/
88 DWORD FASTCALL
UserGetKeyState(DWORD key
);
89 DWORD FASTCALL
UserGetKeyboardType(DWORD TypeFlag
);
90 HKL FASTCALL
UserGetKeyboardLayout(DWORD dwThreadId
);
93 /*************** MISC.C ***************/
98 const wchar_t *format
,
102 UserSystemParametersInfo(
108 VOID FASTCALL
IntSetWindowState(PWND
, UINT
);
109 VOID FASTCALL
IntClearWindowState(PWND
, UINT
);
110 PTHREADINFO FASTCALL
IntTID2PTI(HANDLE
);
111 HBRUSH FASTCALL
GetControlBrush(PWND
,HDC
,UINT
);
112 HBRUSH FASTCALL
GetControlColor(PWND
,PWND
,HDC
,UINT
);
116 IN PETHREAD Thread OPTIONAL
,
117 IN PEPROCESS Process OPTIONAL
,
120 /*************** MESSAGE.C ***************/
122 BOOL FASTCALL
UserPostMessage(HWND Wnd
,UINT Msg
, WPARAM wParam
, LPARAM lParam
);
124 /*************** WINDOW.C ***************/
126 PWND FASTCALL
UserGetWindowObject(HWND hWnd
);
127 VOID FASTCALL
co_DestroyThreadWindows(struct _ETHREAD
*Thread
);
128 HWND FASTCALL
UserGetShellWindow(VOID
);
129 HDC FASTCALL
UserGetDCEx(PWND Window OPTIONAL
, HANDLE ClipRegion
, ULONG Flags
);
130 BOOLEAN
co_UserDestroyWindow(PVOID Object
);
131 PWND FASTCALL
UserGetAncestor(PWND Wnd
, UINT Type
);
132 BOOL APIENTRY
DefSetText(PWND Wnd
, PCWSTR WindowText
);
133 DWORD FASTCALL
IntGetWindowContextHelpId( PWND pWnd
);
135 /*************** MENU.C ***************/
137 HMENU FASTCALL
UserCreateMenu(PDESKTOP Desktop
, BOOL PopupMenu
);
138 BOOL FASTCALL
UserSetMenuDefaultItem(PMENU Menu
, UINT uItem
, UINT fByPos
);
139 BOOL FASTCALL
UserDestroyMenu(HMENU hMenu
);
141 /************** NONCLIENT **************/
143 VOID FASTCALL
DefWndDoSizeMove(PWND pwnd
, WORD wParam
);
144 LRESULT
NC_DoNCPaint(PWND
,HDC
,INT
);
145 void FASTCALL
NC_GetSysPopupPos(PWND
, RECT
*);
146 LRESULT
NC_HandleNCActivate( PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
147 LRESULT
NC_HandleNCCalcSize( PWND wnd
, WPARAM wparam
, RECTL
*winRect
, BOOL Suspended
);
148 VOID
NC_DrawFrame( HDC hDC
, RECT
*CurrentRect
, BOOL Active
, DWORD Style
, DWORD ExStyle
);
149 VOID
UserDrawCaptionBar( PWND pWnd
, HDC hDC
, INT Flags
);
150 void FASTCALL
NC_GetInsideRect(PWND Wnd
, RECT
*rect
);
151 LRESULT
NC_HandleNCLButtonDown(PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
152 LRESULT
NC_HandleNCLButtonDblClk(PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
153 LRESULT
NC_HandleNCRButtonDown( PWND wnd
, WPARAM wParam
, LPARAM lParam
);
155 /************** DEFWND **************/
157 HBRUSH FASTCALL
DefWndControlColor(HDC hDC
,UINT ctlType
);
158 BOOL
UserDrawSysMenuButton(PWND pWnd
, HDC hDC
, LPRECT Rect
, BOOL Down
);
159 BOOL
UserPaintCaption(PWND pWnd
, INT Flags
);
161 /************** LAYERED **************/
163 BOOL FASTCALL
SetLayeredStatus(PWND pWnd
, BYTE set
);
164 BOOL FASTCALL
GetLayeredStatus(PWND pWnd
);