28 TRACE(
"User32CallSendAsyncProcKernel()\n");
144 if (LargeString->Buffer)
183 DbgPrint(
"[window] User32CreateWindowEx style %d, exstyle %d, parent %d\n", dwStyle, dwExStyle,
hWndParent);
187 TRACE(
"Module Version %x\n",dwFlagsVer);
191 TRACE(
"RegisterSystemControls\n");
199 plstrClassName = (
PVOID)lpClassName;
220 plstrClassName = &lstrClassName;
259 wceW.
cbSize =
sizeof(wceW);
267 wceA.
cbSize =
sizeof(wceA);
280 plstrClassVersion = plstrClassName;
288 plstrClassVersion = &lstrClassVersion;
309 if (!lpLibFileName)
break;
316 if (ClassFound)
continue;
370 TRACE(
"CreateWindowExA RegisterSystemControls\n");
383 if (!pWndParent)
return NULL;
387 WARN(
"WS_EX_MDICHILD, but parent %p is not MDIClient\n",
hWndParent);
410 WARN(
"WS_POPUP with MDIS_ALLCHILDSTYLES is not allowed\n");
417 dwStyle &= ~WS_POPUP;
429 TRACE(
"Restoring current maximized child %p\n", top_child);
496 ERR(
"CreateWindowExW RegisterSystemControls\n");
509 if (!pWndParent)
return NULL;
513 WARN(
"WS_EX_MDICHILD, but parent %p is not MDIClient\n",
hWndParent);
536 WARN(
"WS_POPUP with MDIS_ALLCHILDSTYLES is not allowed\n");
543 dwStyle &= ~WS_POPUP;
555 TRACE(
"Restoring current maximized child %p\n", top_child);
603 HWND hWndInsertAfter,
716 for (
i = 0;
i < dwCount;
i++ )
726 if (!(*lpfn)(pHwnd[
i],
lParam))
842 pucClassName = &ucClassName;
844 else if (lpszClass !=
NULL)
848 pucClassName = &ucClassName;
851 if (lpszWindow !=
NULL)
855 pucWindowName = &ucWindowName;
957 if (Ancestor !=
NULL)
981 if (!Wnd)
return FALSE;
984 lpRect->
left = lpRect->
top = 0;
1000 lpRect->
left = lpRect->
top = 0;
1047 PWND Wnd, WndParent;
1067 if (WndParent !=
NULL)
1149 if (FoundWnd !=
NULL)
1245 UINT cchFileNameMax)
1262 UINT cchFileNameMax)
1281 if (!Wnd)
return FALSE;
1288 lpRect->
left = lpRect->
top = 0;
1396 lpString[0] =
L'\0';
1426 if (!pWnd)
return Ret;
1428 ti = pWnd->
head.pti;
1458 PWND WndParent, DesktopWnd, Wnd;
1480 if (Wnd == WndParent)
1576 }
while (Wnd !=
NULL);
1640 (visible && !(
dwFlags & AW_HIDE)) ||
1641 (!visible && (
dwFlags & AW_HIDE)))
1672 POINT ptParentClientCoords)
1793 const UPDATELAYEREDWINDOWINFO *
info)
1817 DWORD dwContextHelpId)
1838 if (Ret == 0 && lpString)
1947 if (
flags & SW_SMOOTHSCROLL)
1949 FIXME(
"SW_SMOOTHSCROLL not supported.\n");
1977 retvalue = (
list[
i] != 0);
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define UlongToHandle(ul)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define ERROR_NOT_ENOUGH_MEMORY
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
#define HeapFree(x, y, z)
#define MultiByteToWideChar
#define ValidateHwnd(hwnd)
#define ValidateHwndNoErr(hwnd)
static PVOID FASTCALL DesktopPtrToUser(PVOID ptr)
static void cleanup(void)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static const WCHAR titleW[]
#define WNDS2_WIN31COMPAT
BOOL NTAPI NtUserUpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags, RECT *prcDirty)
#define QUERY_WINDOW_UNIQUE_THREAD_ID
VOID NTAPI RtlInitLargeAnsiString(IN OUT PLARGE_ANSI_STRING, IN PCSZ, IN INT)
#define WNDS2_WIN40COMPAT
BOOL NTAPI NtUserSetWindowPos(HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags)
DWORD NTAPI NtUserScrollWindowEx(HWND hWnd, INT dx, INT dy, const RECT *rect, const RECT *clipRect, HRGN hrgnUpdate, LPRECT rcUpdate, UINT flags)
DWORD_PTR NTAPI NtUserCallOneParam(DWORD_PTR Param, DWORD Routine)
HWND NTAPI NtUserRealChildWindowFromPoint(HWND Parent, LONG x, LONG y)
#define UserHMGetHandle(obj)
ULONG RtlGetExpWinVer(_In_ PVOID BaseAddress)
#define QUERY_WINDOW_REAL_ID
struct _THREADINFO * GetW32ThreadInfo(VOID)
HDWP NTAPI NtUserDeferWindowPos(HDWP WinPosInfo, HWND Wnd, HWND WndInsertAfter, int x, int y, int cx, int cy, UINT Flags)
@ THREADSTATE_TASKMANWINDOW
@ THREADSTATE_PROGMANWINDOW
@ THREADSTATE_FOCUSWINDOW
@ ONEPARAM_ROUTINE_SETPROCDEFLAYOUT
@ ONEPARAM_ROUTINE_GETPROCDEFLAYOUT
BOOL NTAPI NtUserGetAltTabInfo(HWND hwnd, INT iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText, BOOL Ansi)
VOID NTAPI RtlInitLargeUnicodeString(IN OUT PLARGE_UNICODE_STRING, IN PCWSTR, IN INT)
#define QUERY_WINDOW_UNIQUE_PROCESS_ID
DWORD_PTR NTAPI NtUserGetThreadState(DWORD Routine)
HWND NTAPI NtUserChildWindowFromPointEx(HWND Parent, LONG x, LONG y, UINT Flags)
#define QUERY_WINDOW_ISHUNG
#define WNDS2_WIN50COMPAT
BOOL NTAPI NtUserEndDeferWindowPosEx(HDWP WinPosInfo, BOOL bAsync)
#define EXCEPTION_EXECUTE_HANDLER
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
NTSYSAPI BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(_Out_ PUNICODE_STRING Destination, _In_ PCSZ Source)
_Use_decl_annotations_ NTSTATUS NTAPI RtlMultiByteToUnicodeN(_Out_ PWCH UnicodeString, _In_ ULONG UnicodeSize, _Out_opt_ PULONG ResultSize, _In_ PCCH MbString, _In_ ULONG MbSize)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _Out_ LPSIZE psize
VOID UserGetWindowBorders(DWORD Style, DWORD ExStyle, SIZE *Size, BOOL WithClient)
EXTINLINE BOOL NtUserxSetWindowContextHelpId(HWND hWnd, DWORD_PTR dwContextHelpId)
EXTINLINE BOOL NtUserxAllowSetForegroundWindow(DWORD dwProcessId)
EXTINLINE BOOL NtUserxLockSetForegroundWindow(UINT uLockCode)
EXTINLINE HWND NtUserxSetTaskmanWindow(HWND hWnd)
EXTINLINE DWORD NtUserxGetWindowContextHelpId(HWND hwnd)
EXTINLINE VOID NtUserxEnableProcessWindowGhosting(BOOL bEnable)
EXTINLINE VOID NtUserxSwitchToThisWindow(HWND hWnd, BOOL fAltTab)
EXTINLINE BOOL NtUserxSetForegroundWindow(HWND hWnd)
EXTINLINE BOOL NtUserxShowOwnedPopups(HWND hWnd, BOOL fShow)
EXTINLINE HDWP NtUserxBeginDeferWindowPos(INT nNumWindows)
EXTINLINE HWND NtUserxSetProgmanWindow(HWND hWnd)
#define WS_OVERLAPPEDWINDOW
_Out_opt_ int _Out_opt_ int * cy
#define _SEH2_EXCEPT(...)
DWORD RegisterDefaultClasses
BOOL WINAPI RegisterSystemControls(VOID)
BOOL FASTCALL VersionRegisterClass(PCWSTR, LPCWSTR, HANDLE, HMODULE *)
#define DECLSPEC_HOTPATCH
struct _WND * spwndLastActive
struct _WND * spwndParent
#define RtlZeroMemory(Destination, Length)
#define STATUS_INFO_LENGTH_MISMATCH
#define WS_EX_SETANSICREATOR
PWND FASTCALL GetThreadDesktopWnd(VOID)
HWND * WIN_ListChildren(HWND hWndparent)
BOOL FASTCALL TestWindowProcess(PWND)
static const WCHAR classW[]
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
struct _SENDASYNCPROC_CALLBACK_ARGUMENTS * PSENDASYNCPROC_CALLBACK_ARGUMENTS
HWND APIENTRY NtUserGetAncestor(HWND hWnd, UINT Type)
DWORD_PTR APIENTRY NtUserQueryWindow(HWND hWnd, DWORD Index)
HWND APIENTRY NtUserFindWindowEx(HWND hwndParent, HWND hwndChildAfter, PUNICODE_STRING ucClassName, PUNICODE_STRING ucWindowName, DWORD dwUnknown)
HWND NTAPI NtUserCreateWindowEx(DWORD dwExStyle, PLARGE_STRING plstrClassName, PLARGE_STRING plstrClsVersion, PLARGE_STRING plstrWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags, PVOID acbiBuffer)
NTSTATUS NTAPI NtUserBuildHwndList(HDESK hDesktop, HWND hwndParent, BOOLEAN bChildren, ULONG dwThreadId, ULONG cHwnd, HWND *phwndList, ULONG *pcHwndNeeded)
INT APIENTRY NtUserInternalGetWindowText(HWND hWnd, LPWSTR lpString, INT nMaxCount)
HWND WINAPI FindWindowExW(HWND hwndParent, HWND hwndChildAfter, LPCWSTR lpszClass, LPCWSTR lpszWindow)
HWND WINAPI ChildWindowFromPointEx(HWND hwndParent, POINT pt, UINT uFlags)
HWND WINAPI FindWindowExA(HWND hwndParent, HWND hwndChildAfter, LPCSTR lpszClass, LPCSTR lpszWindow)
BOOL WINAPI EnumWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam)
BOOL WINAPI UpdateLayeredWindow(HWND hwnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pbl, DWORD dwFlags)
int WINAPI InternalGetWindowText(HWND hWnd, LPWSTR lpString, int nMaxCount)
BOOL WINAPI CloseWindow(HWND hWnd)
int WINAPI GetWindowTextA(HWND hWnd, LPSTR lpString, int nMaxCount)
BOOL WINAPI IsChild(HWND hWndParent, HWND hWnd)
BOOL WINAPI DECLSPEC_HOTPATCH SetWindowTextA(HWND hWnd, LPCSTR lpString)
BOOL WINAPI IsIconic(HWND hWnd)
HWND WINAPI GetWindow(HWND hWnd, UINT uCmd)
UINT WINAPI GetWindowModuleFileNameW(HWND hwnd, LPWSTR lpszFileName, UINT cchFileNameMax)
HWND WINAPI GetTaskmanWindow(VOID)
VOID WINAPI SetLastErrorEx(DWORD dwErrCode, DWORD dwType)
HWND WINAPI SetTaskmanWindow(HWND hWnd)
BOOL WINAPI IsZoomed(HWND hWnd)
HWND WINAPI GetTopWindow(HWND hWnd)
BOOL WINAPI SetWindowContextHelpId(HWND hwnd, DWORD dwContextHelpId)
static BOOL User32EnumWindows(HDESK hDesktop, HWND hWndparent, WNDENUMPROC lpfn, LPARAM lParam, DWORD dwThreadId, BOOL bChildren)
FORCEINLINE VOID RtlInitLargeString(OUT PLARGE_STRING plstr, LPCVOID psz, BOOL bUnicode)
VOID NTAPI RtlFreeLargeString(IN PLARGE_STRING LargeString)
UINT WINAPI GetWindowModuleFileNameA(HWND hwnd, LPSTR lpszFileName, UINT cchFileNameMax)
BOOL WINAPI GetClientRect(HWND hWnd, LPRECT lpRect)
HWND WINAPI FindWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName)
BOOL WINAPI GetAltTabInfoA(HWND hwnd, int iItem, PALTTABINFO pati, LPSTR pszItemText, UINT cchItemText)
BOOL WINAPI EnumChildWindows(HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam)
VOID WINAPI SwitchToThisWindow(HWND hwnd, BOOL fAltTab)
BOOL WINAPI IsWindowEnabled(HWND hWnd)
HWND WINAPI GetLastActivePopup(HWND hWnd)
HWND WINAPI GetParent(HWND hWnd)
NTSTATUS WINAPI User32CallSendAsyncProcForKernel(PVOID Arguments, ULONG ArgumentLength)
HWND WINAPI ChildWindowFromPoint(HWND hWndParent, POINT Point)
BOOL WINAPI LockSetForegroundWindow(UINT uLockCode)
BOOL WINAPI BringWindowToTop(HWND hWnd)
BOOL WINAPI GetProcessDefaultLayout(DWORD *pdwDefaultLayout)
HWND WINAPI DECLSPEC_HOTPATCH CreateWindowExA(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam)
BOOL WINAPI EndDeferWindowPos(HDWP hWinPosInfo)
BOOL WINAPI IsWindowInDestroy(HWND hWnd)
HDWP WINAPI BeginDeferWindowPos(int nNumWindows)
BOOL WINAPI DECLSPEC_HOTPATCH GetWindowInfo(HWND hWnd, PWINDOWINFO pwi)
DWORD WINAPI GetRealWindowOwner(HWND hwnd)
void MDI_CalcDefaultChildPos(HWND hwndClient, INT total, LPPOINT lpPos, INT delta, UINT *id)
BOOL WINAPI IsWindowUnicode(HWND hWnd)
BOOL WINAPI SetProcessDefaultLayout(DWORD dwDefaultLayout)
int WINAPI GetWindowTextLengthA(HWND hWnd)
HDWP WINAPI DeferWindowPos(HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags)
HWND WINAPI GetAncestor(HWND hwnd, UINT gaFlags)
BOOL WINAPI IsHungAppWindow(HWND hwnd)
BOOL WINAPI EnumThreadWindows(DWORD dwThreadId, WNDENUMPROC lpfn, LPARAM lParam)
int WINAPI GetWindowTextLengthW(HWND hWnd)
BOOL WINAPI EnumDesktopWindows(HDESK hDesktop, WNDENUMPROC lpfn, LPARAM lParam)
BOOL WINAPI AllowSetForegroundWindow(DWORD dwProcessId)
BOOL WINAPI OpenIcon(HWND hWnd)
BOOL WINAPI ScrollWindow(HWND hWnd, int dx, int dy, CONST RECT *lpRect, CONST RECT *prcClip)
DWORD WINAPI GetWindowThreadProcessId(HWND hWnd, LPDWORD lpdwProcessId)
HWND WINAPI RealChildWindowFromPoint(HWND hwndParent, POINT ptParentClientCoords)
HWND WINAPI GetProgmanWindow(VOID)
BOOL WINAPI AnimateWindow(HWND hwnd, DWORD dwTime, DWORD dwFlags)
BOOL WINAPI GetAltTabInfoW(HWND hwnd, int iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText)
BOOL WINAPI UpdateLayeredWindowIndirect(HWND hwnd, const UPDATELAYEREDWINDOWINFO *info)
BOOL WINAPI ShowOwnedPopups(HWND hWnd, BOOL fShow)
LPCWSTR FASTCALL ClassNameToVersion(const void *lpszClass, LPCWSTR lpszMenuName, LPCWSTR *plpLibFileName, HANDLE *pContext, BOOL bAnsi)
HWND WINAPI SetProgmanWindow(HWND hWnd)
VOID WINAPI DisableProcessWindowsGhosting(VOID)
DWORD WINAPI GetWindowContextHelpId(HWND hwnd)
INT WINAPI ScrollWindowEx(HWND hWnd, int dx, int dy, CONST RECT *prcScroll, CONST RECT *prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flags)
HWND WINAPI FindWindowA(LPCSTR lpClassName, LPCSTR lpWindowName)
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
HWND WINAPI User32CreateWindowEx(DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam, DWORD dwFlags)
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetCurrentThreadId(void)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define ERROR_CANNOT_FIND_WND_CLASS
HWND WINAPI GetFocus(void)
BOOL WINAPI IsWindow(_In_opt_ HWND)
HWND WINAPI GetActiveWindow(void)
#define GetWindowLongPtrW
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SW_SCROLLCHILDREN
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
#define IS_INTRESOURCE(i)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
LRESULT WINAPI SendMessageA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI GetClassInfoExA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSEXA)
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
#define MDIS_ALLCHILDSTYLES
HWND WINAPI GetDesktopWindow(void)
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
HWND WINAPI SetActiveWindow(_In_ HWND)
HWND WINAPI CreateWindowExW(_In_ DWORD dwExStyle, _In_opt_ LPCWSTR lpClassName, _In_opt_ LPCWSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI OffsetRect(_Inout_ LPRECT, _In_ int, _In_ int)
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
BOOL WINAPI AnyPopup(void)
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL(CALLBACK * WNDENUMPROC)(HWND, LPARAM)
int WINAPI GetSystemMetrics(_In_ int)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HMENU WINAPI LoadMenuA(_In_opt_ HINSTANCE, _In_ LPCSTR)