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 ***************/
96 UserSystemParametersInfo(
102 VOID FASTCALL
IntSetWindowState(PWND
, UINT
);
103 VOID FASTCALL
IntClearWindowState(PWND
, UINT
);
104 PTHREADINFO FASTCALL
IntTID2PTI(HANDLE
);
105 HBRUSH FASTCALL
GetControlBrush(PWND pwnd
,HDC hdc
,UINT ctlType
);
107 /*************** MESSAGE.C ***************/
109 BOOL FASTCALL
UserPostMessage(HWND Wnd
,UINT Msg
, WPARAM wParam
, LPARAM lParam
);
111 /*************** WINDOW.C ***************/
113 PWND FASTCALL
UserGetWindowObject(HWND hWnd
);
114 VOID FASTCALL
co_DestroyThreadWindows(struct _ETHREAD
*Thread
);
115 HWND FASTCALL
UserGetShellWindow(VOID
);
116 HDC FASTCALL
UserGetDCEx(PWND Window OPTIONAL
, HANDLE ClipRegion
, ULONG Flags
);
117 BOOLEAN
co_UserDestroyWindow(PVOID Object
);
118 PWND FASTCALL
UserGetAncestor(PWND Wnd
, UINT Type
);
119 BOOL APIENTRY
DefSetText(PWND Wnd
, PCWSTR WindowText
);
120 DWORD FASTCALL
IntGetWindowContextHelpId( PWND pWnd
);
122 /*************** MENU.C ***************/
124 HMENU FASTCALL
UserCreateMenu(PDESKTOP Desktop
, BOOL PopupMenu
);
125 BOOL FASTCALL
UserSetMenuDefaultItem(PMENU Menu
, UINT uItem
, UINT fByPos
);
126 BOOL FASTCALL
UserDestroyMenu(HMENU hMenu
);
128 /************** NONCLIENT **************/
130 VOID FASTCALL
DefWndDoSizeMove(PWND pwnd
, WORD wParam
);
131 LRESULT
NC_DoNCPaint(PWND
,HDC
,INT
);
132 void FASTCALL
NC_GetSysPopupPos(PWND
, RECT
*);
133 LRESULT
NC_HandleNCActivate( PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
134 LRESULT
NC_HandleNCCalcSize( PWND wnd
, WPARAM wparam
, RECTL
*winRect
, BOOL Suspended
);
135 VOID
NC_DrawFrame( HDC hDC
, RECT
*CurrentRect
, BOOL Active
, DWORD Style
, DWORD ExStyle
);
136 VOID
UserDrawCaptionBar( PWND pWnd
, HDC hDC
, INT Flags
);
137 void FASTCALL
NC_GetInsideRect(PWND Wnd
, RECT
*rect
);
138 LRESULT
NC_HandleNCLButtonDown(PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
139 LRESULT
NC_HandleNCLButtonDblClk(PWND Wnd
, WPARAM wParam
, LPARAM lParam
);
140 LRESULT
NC_HandleNCRButtonDown( PWND wnd
, WPARAM wParam
, LPARAM lParam
);
142 /************** DEFWND **************/
144 HBRUSH FASTCALL
DefWndControlColor(HDC hDC
,UINT ctlType
);
145 BOOL
UserDrawSysMenuButton(PWND pWnd
, HDC hDC
, LPRECT Rect
, BOOL Down
);
146 BOOL
UserPaintCaption(PWND pWnd
, INT Flags
);
148 /************** LAYERED **************/
150 BOOL FASTCALL
SetLayeredStatus(PWND pWnd
, BYTE set
);
151 BOOL FASTCALL
GetLayeredStatus(PWND pWnd
);