ReactOS  0.4.15-dev-4923-g379188a
window.h
Go to the documentation of this file.
1 #pragma once
2 
3 extern ATOM AtomMessage;
4 extern ATOM AtomWndObj; /* WNDOBJ list */
5 extern ATOM AtomLayer;
7 
8 #define HAS_DLGFRAME(Style, ExStyle) \
9  (((ExStyle) & WS_EX_DLGMODALFRAME) || \
10  (((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
11 
12 #define HAS_THICKFRAME(Style, ExStyle) \
13  (((Style) & WS_THICKFRAME) && \
14  (!(((Style) & (WS_DLGFRAME | WS_BORDER)) == WS_DLGFRAME)))
15 
16 #define HAS_THINFRAME(Style, ExStyle) \
17  (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
18 
19 #define HAS_CLIENTFRAME(Style, ExStyle) \
20  (((ExStyle) & WS_EX_CLIENTEDGE) || (!((Style) & (WS_CHILD | WS_POPUP))))
21 
22 #define HAS_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && (pWnd->IDMenu) && IntIsMenu(UlongToHandle(pWnd->IDMenu)))
23 
24 #define IntIsDesktopWindow(WndObj) \
25  (WndObj->spwndParent == NULL)
26 
27 #define IntIsBroadcastHwnd(hWnd) \
28  (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
29 
30 
31 #define IntWndBelongsToThread(WndObj, W32Thread) \
32  ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
33 
34 #define IntGetWndThreadId(WndObj) \
35  PsGetThreadId(WndObj->head.pti->pEThread)
36 
37 #define IntGetWndProcessId(WndObj) \
38  PsGetProcessId(WndObj->head.pti->ppi->peProcess)
39 
45 VOID FASTCALL IntGetClientRect (PWND WindowObject, RECTL *Rect);
46 INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints);
49 VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev);
52 BOOL FASTCALL IntShowOwnedPopups( PWND owner, BOOL fShow );
55 #define WINVER_WIN2K _WIN32_WINNT_WIN2K
56 #define WINVER_WINNT4 _WIN32_WINNT_NT4
57 #define WINVER_WIN31 0x30A
59  PLARGE_STRING WindowName,
60  PCLS Class,
61  PWND ParentWindow,
62  PWND OwnerWindow,
63  PVOID acbiBuffer,
64  PDESKTOP pdeskCreated,
65  DWORD dwVer );
67  PUNICODE_STRING ClassName,
68  PLARGE_STRING WindowName,
69  PVOID acbiBuffer,
70  DWORD dwVer );
81 
82 #define HWND_TERMINATOR ((HWND)(ULONG_PTR)1)
83 
84 typedef struct tagWINDOWLIST
85 {
90  HWND ahwnd[ANYSIZE_ARRAY]; /* Terminated by HWND_TERMINATOR */
92 
93 extern PWINDOWLIST gpwlList;
94 extern PWINDOWLIST gpwlCache;
95 
96 #define WL_IS_BAD(pwl) ((pwl)->phwndEnd <= (pwl)->phwndLast)
97 #define WL_CAPACITY(pwl) ((pwl)->phwndEnd - &((pwl)->ahwnd[0]))
98 
101 
102 /* Undocumented dwFlags for IntBuildHwndList */
103 #define IACE_LIST 0x0002
104 
105 #define IS_WND_CHILD(pWnd) ((pWnd)->style & WS_CHILD)
106 #define IS_WND_MENU(pWnd) ((pWnd)->pcls->atomClassName == gpsi->atomSysClass[ICLS_MENU])
107 
108 // The IME-like windows are the IME windows and the IME UI windows.
109 // The IME window's class name is "IME".
110 // The IME UI window behaves the User Interface of IME for the user.
111 #define IS_WND_IMELIKE(pWnd) \
112  (((pWnd)->pcls->style & CS_IME) || \
113  ((pWnd)->pcls->atomClassName == gpsi->atomSysClass[ICLS_IME]))
114 
115 extern BOOL gfIMEShowStatus;
116 
117 BOOL FASTCALL IntWantImeWindow(PWND pwndTarget);
120 BOOL FASTCALL IntImeCanDestroyDefIME(PWND pImeWnd, PWND pwndTarget);
123 
124 /* EOF */
DWORD FASTCALL GetNCHitEx(PWND, POINT)
Definition: nonclient.c:1927
PWND FASTCALL IntGetNonChildAncestor(PWND)
Definition: window.c:346
VOID FASTCALL IntNotifyImeShowStatus(PWND pImeWnd)
Definition: ime.c:2306
PWND FASTCALL IntCreateWindow(CREATESTRUCTW *Cs, PLARGE_STRING WindowName, PCLS Class, PWND ParentWindow, PWND OwnerWindow, PVOID acbiBuffer, PDESKTOP pdeskCreated, DWORD dwVer)
Definition: window.c:1787
LONG_PTR FASTCALL co_UserSetWindowLongPtr(HWND, DWORD, LONG_PTR, BOOL)
Definition: window.c:4011
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
BOOL FASTCALL IntBroadcastImeShowStatusChange(PWND pImeWnd, BOOL bShow)
Definition: ime.c:2363
WORD ATOM
Definition: dimm.idl:113
struct tagWINDOWLIST * pNextList
Definition: window.h:86
LONG FASTCALL co_UserSetWindowLong(HWND, DWORD, LONG, BOOL)
Definition: window.c:4005
HWND hWnd
Definition: settings.c:17
BOOL FASTCALL IntIsWindowVisible(PWND)
Definition: window.c:193
ATOM AtomWndObj
Definition: ntuser.c:20
struct tagWINDOWLIST WINDOWLIST
UINT_PTR WPARAM
Definition: windef.h:207
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
Definition: acpixf.h:728
VOID FASTCALL IntGetClientRect(PWND WindowObject, RECTL *Rect)
Definition: winpos.c:91
BOOL FASTCALL IntEnableWindow(HWND, BOOL)
Definition: window.c:224
#define FASTCALL
Definition: nt_native.h:50
int32_t INT
Definition: typedefs.h:58
WPARAM wParam
Definition: combotst.c:138
BOOL FASTCALL IntIsChildWindow(PWND Parent, PWND Child)
Definition: window.c:916
Definition: window.c:28
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
Definition: wdffdo.h:533
LRESULT FASTCALL IntDefWindowProc(PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi)
Definition: defwnd.c:531
unsigned int BOOL
Definition: ntddk_ex.h:94
ATOM AtomMessage
Definition: ntuser.c:19
long LONG
Definition: pedump.c:60
ATOM AtomFlashWndState
Definition: ntuser.c:22
HWND * phwndLast
Definition: window.h:87
PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW *Cs, PUNICODE_STRING ClassName, PLARGE_STRING WindowName, PVOID acbiBuffer, DWORD dwVer)
Definition: window.c:2180
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:585
LRESULT co_UserFreeWindow(PWND, PPROCESSINFO, PTHREADINFO, BOOLEAN)
Definition: window.c:569
unsigned char BOOLEAN
HWND FASTCALL IntGetWindow(HWND, UINT)
Definition: window.c:376
HWND ahwnd[ANYSIZE_ARRAY]
Definition: window.h:90
Definition: ntuser.h:548
LONG_PTR LPARAM
Definition: windef.h:208
PWINDOWLIST FASTCALL IntBuildHwndList(PWND pwnd, DWORD dwFlags, PTHREADINFO pti)
Definition: window.c:1410
PWINDOWLIST gpwlCache
Definition: window.c:17
VOID FASTCALL IntFreeHwndList(PWINDOWLIST pwlTarget)
Definition: window.c:1456
PWND FASTCALL co_IntCreateDefaultImeWindow(PWND pwndTarget, HINSTANCE hInst)
Definition: ime.c:1939
PWND FASTCALL IntGetParent(PWND Wnd)
Definition: window.c:208
PWINDOWLIST gpwlList
Definition: window.c:16
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam)
Definition: window.c:38
BOOL FASTCALL IntImeCanDestroyDefIMEforChild(PWND pImeWnd, PWND pwndTarget)
Definition: ime.c:2002
BOOL FASTCALL IntImeCanDestroyDefIME(PWND pImeWnd, PWND pwndTarget)
Definition: ime.c:2047
PWND FASTCALL ValidateHwndNoErr(HWND)
Definition: window.c:118
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD)
Definition: event.c:179
PWND FASTCALL VerifyWnd(PWND)
Definition: window.c:86
BOOL FASTCALL IntWantImeWindow(PWND pwndTarget)
Definition: ime.c:1899
HWND * phwndEnd
Definition: window.h:88
Definition: ntuser.h:672
BOOL FASTCALL IntShowOwnedPopups(PWND owner, BOOL fShow)
Definition: window.c:4647
ULONG FASTCALL IntSetStyle(PWND, ULONG, ULONG)
Definition: window.c:147
HINSTANCE hInst
Definition: dxdiag.c:13
struct tagWINDOWLIST * PWINDOWLIST
INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints)
Definition: winpos.c:143
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
HWND *FASTCALL IntWinListChildren(PWND Window)
Definition: window.c:278
VOID FASTCALL IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy)
Definition: winpos.c:859
unsigned int UINT
Definition: ndis.h:50
_Out_opt_ int * cx
Definition: commctrl.h:585
VOID FASTCALL IntUnlinkWindow(PWND Wnd)
Definition: window.c:1341
ATOM AtomLayer
Definition: ntuser.c:21
struct @1589 Msg[]
unsigned int ULONG
Definition: retypes.h:1
LONG_PTR LRESULT
Definition: windef.h:209
PTHREADINFO pti
Definition: window.h:89
VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev)
Definition: window.c:971
LPARAM lParam
Definition: combotst.c:139
HWND *FASTCALL IntWinListOwnedPopups(PWND Window)
Definition: window.c:310
BOOL gfIMEShowStatus
Definition: ime.c:44
BOOL FASTCALL IntIsWindow(HWND hWnd)
Definition: window.c:180