9#define HAS_DLGFRAME(Style, ExStyle) \
10 (((ExStyle) & WS_EX_DLGMODALFRAME) || \
11 (((Style) & WS_DLGFRAME) && (!((Style) & WS_THICKFRAME))))
13#define HAS_THICKFRAME(Style, ExStyle) \
14 (((Style) & WS_THICKFRAME) && \
15 (!(((Style) & (WS_DLGFRAME | WS_BORDER)) == WS_DLGFRAME)))
17#define HAS_THINFRAME(Style, ExStyle) \
18 (((Style) & WS_BORDER) || (!((Style) & (WS_CHILD | WS_POPUP))))
20#define HAS_CLIENTFRAME(Style, ExStyle) \
21 (((ExStyle) & WS_EX_CLIENTEDGE) || (!((Style) & (WS_CHILD | WS_POPUP))))
23#define HAS_MENU(pWnd,style) ((((style) & (WS_CHILD | WS_POPUP)) != WS_CHILD) && (pWnd->IDMenu) && IntIsMenu(UlongToHandle(pWnd->IDMenu)))
25#define IntIsDesktopWindow(WndObj) \
26 (WndObj->spwndParent == NULL)
28#define IntIsBroadcastHwnd(hWnd) \
29 (hWnd == HWND_BROADCAST || hWnd == HWND_TOPMOST)
32#define IntWndBelongsToThread(WndObj, W32Thread) \
33 ((WndObj->head.pti) && (WndObj->head.pti == W32Thread))
35#define IntGetWndThreadId(WndObj) \
36 PsGetThreadId(WndObj->head.pti->pEThread)
38#define IntGetWndProcessId(WndObj) \
39 PsGetProcessId(WndObj->head.pti->ppi->peProcess)
56#define WINVER_WIN2K _WIN32_WINNT_WIN2K
57#define WINVER_WINNT4 _WIN32_WINNT_NT4
58#define WINVER_WIN31 0x30A
83#define HWND_TERMINATOR ((HWND)UlongToHandle(1))
97#define WL_IS_BAD(pwl) ((pwl)->phwndEnd <= (pwl)->phwndLast)
98#define WL_CAPACITY(pwl) ((pwl)->phwndEnd - &((pwl)->ahwnd[0]))
106#define IACE_LIST 0x0002
108#define IS_WND_CHILD(pWnd) ((pWnd)->style & WS_CHILD)
109#define IS_WND_MENU(pWnd) ((pWnd)->pcls->atomClassName == gpsi->atomSysClass[ICLS_MENU])
114#define IS_WND_IMELIKE(pWnd) \
115 (((pWnd)->pcls->style & CS_IME) || \
116 ((pWnd)->pcls->atomClassName == gpsi->atomSysClass[ICLS_IME]))
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx 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
#define ValidateHwndNoErr(hwnd)
_Out_opt_ int _Out_opt_ int * cy
HWND ahwnd[ANYSIZE_ARRAY]
struct tagWINDOWLIST * pNextList
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
BOOL FASTCALL UserDereferenceObject(PVOID Object)
VOID FASTCALL UserReferenceObject(PVOID obj)
HWND *FASTCALL IntWinListChildren(PWND Window)
static VOID WndSetPrev(_Inout_ PWND pwnd, _In_opt_ PWND pwndPrev)
static VOID WndSetOwner(_Inout_ PWND pwnd, _In_opt_ PWND pwndOwner)
static VOID ReplaceWndPtr(_Inout_ PWND *ppwnd, _In_opt_ PWND pwndNew)
BOOL g_bWindowSnapEnabled
LONG_PTR FASTCALL co_UserSetWindowLongPtr(HWND, DWORD, LONG_PTR, BOOL)
INT FASTCALL IntMapWindowPoints(PWND FromWnd, PWND ToWnd, LPPOINT lpPoints, UINT cPoints)
struct tagWINDOWLIST * PWINDOWLIST
HWND FASTCALL IntGetWindow(HWND, UINT)
BOOL FASTCALL IntEnableWindow(HWND, BOOL)
DWORD FASTCALL GetNCHitEx(PWND, POINT)
VOID FASTCALL IntGetWindowBorderMeasures(PWND WindowObject, UINT *cx, UINT *cy)
VOID FASTCALL IntFreeHwndList(PWINDOWLIST pwlTarget)
BOOL FASTCALL IntImeCanDestroyDefIME(PWND pImeWnd, PWND pwndTarget)
PWND FASTCALL IntGetParent(PWND Wnd)
HWND *FASTCALL IntWinListOwnedPopups(PWND Window)
LONG FASTCALL co_UserSetWindowLong(HWND, DWORD, LONG, BOOL)
BOOL FASTCALL IntIsChildWindow(PWND Parent, PWND Child)
LRESULT FASTCALL IntDefWindowProc(PWND Window, UINT Msg, WPARAM wParam, LPARAM lParam, BOOL Ansi)
VOID FASTCALL IntCheckImeShowStatusInThread(PWND pImeWnd)
PWND FASTCALL IntCreateWindow(CREATESTRUCTW *Cs, PLARGE_STRING WindowName, PCLS Class, PWND ParentWindow, PWND OwnerWindow, PVOID acbiBuffer, PDESKTOP pdeskCreated, DWORD dwVer)
PWND FASTCALL co_IntCreateDefaultImeWindow(PWND pwndTarget, HINSTANCE hInst)
BOOL FASTCALL IntShowOwnedPopups(PWND owner, BOOL fShow)
static VOID WndSetChild(_Inout_ PWND pwnd, _In_opt_ PWND pwndChild)
BOOL FASTCALL IntIsWindowVisible(PWND)
HWND FASTCALL IntFindWindow(PWND Parent, PWND ChildAfter, RTL_ATOM ClassAtom, PUNICODE_STRING WindowName)
PWND FASTCALL IntGetNonChildAncestor(PWND)
VOID FASTCALL IntUnlinkWindow(PWND Wnd)
BOOL FASTCALL IntImeCanDestroyDefIMEforChild(PWND pImeWnd, PWND pwndTarget)
VOID FASTCALL IntGetClientRect(PWND WindowObject, RECTL *Rect)
static VOID WndSetNext(_Inout_ PWND pwnd, _In_opt_ PWND pwndNext)
BOOL FASTCALL IntWantImeWindow(PWND pwndTarget)
LRESULT co_UserFreeWindow(PWND, PPROCESSINFO, PTHREADINFO, BOOLEAN)
PWND FASTCALL co_UserCreateWindowEx(CREATESTRUCTW *Cs, PUNICODE_STRING ClassName, PLARGE_STRING WindowName, PVOID acbiBuffer, DWORD dwVer)
static VOID WndSetParent(_Inout_ PWND pwnd, _In_opt_ PWND pwndParent)
VOID FASTCALL IntNotifyImeShowStatus(PWND pImeWnd)
VOID FASTCALL IntNotifyWinEvent(DWORD, PWND, LONG, LONG, DWORD)
BOOL FASTCALL IntIsWindow(HWND hWnd)
BOOL FASTCALL IntBroadcastImeShowStatusChange(PWND pImeWnd, BOOL bShow)
BOOL FASTCALL UserUpdateUiState(PWND Wnd, WPARAM wParam)
PWINDOWLIST FASTCALL IntBuildHwndList(PWND pwnd, DWORD dwFlags, PTHREADINFO pti)
ULONG FASTCALL IntSetStyle(PWND, ULONG, ULONG)
VOID FASTCALL IntLinkHwnd(PWND Wnd, HWND hWndPrev)
struct tagWINDOWLIST WINDOWLIST
PWND FASTCALL VerifyWnd(PWND)
static VOID WndSetLastActive(_Inout_ PWND pwnd, _In_opt_ PWND pwndLastActive)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags