winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
April 2022
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
2 participants
1024 discussions
Start a n
N
ew thread
Zhiyi Zhang : inetcpl.cpl: Enable visual styles.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 0d093f8935d0b4053ba3e195b5ef098b8f1ff8aa URL:
https://source.winehq.org/git/wine.git/?a=commit;h=0d093f8935d0b4053ba3e195…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Wed Apr 13 17:41:01 2022 +0800 inetcpl.cpl: Enable visual styles. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/inetcpl.cpl/inetcpl.manifest | 16 ++++++++++++++++ dlls/inetcpl.cpl/inetcpl.rc | 5 ++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/dlls/inetcpl.cpl/inetcpl.manifest b/dlls/inetcpl.cpl/inetcpl.manifest new file mode 100644 index 00000000000..81a32e4879c --- /dev/null +++ b/dlls/inetcpl.cpl/inetcpl.manifest @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> +<assemblyIdentity type="win32" name="Wine.Inetcpl" version="0.0.0.0"/> +<dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> +</dependency> +</assembly> diff --git a/dlls/inetcpl.cpl/inetcpl.rc b/dlls/inetcpl.cpl/inetcpl.rc index 0c997da59ff..7ae2a53efdf 100644 --- a/dlls/inetcpl.cpl/inetcpl.rc +++ b/dlls/inetcpl.cpl/inetcpl.rc @@ -147,7 +147,10 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL #define WINE_PRODUCTVERSION_STR "8.00.6001.18939" #include "wine/wine_common_ver.rc" - + +/* @makedep: inetcpl.manifest */ +123 RT_MANIFEST inetcpl.manifest + /* @makedep: inetcpl.ico */ ICO_MAIN ICON "inetcpl.ico" ICO_INTERNET ICON "inetcpl.ico"
1
0
0
0
Zhiyi Zhang : appwiz.cpl: Enable visual styles.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 578f0a6f35f0a5a51c3cccaf16f3cc6e37c7d5a6 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=578f0a6f35f0a5a51c3cccaf…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Wed Apr 13 17:40:54 2022 +0800 appwiz.cpl: Enable visual styles. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/appwiz.cpl/appwiz.manifest | 16 ++++++++++++++++ dlls/appwiz.cpl/appwiz.rc | 3 +++ 2 files changed, 19 insertions(+) diff --git a/dlls/appwiz.cpl/appwiz.manifest b/dlls/appwiz.cpl/appwiz.manifest new file mode 100644 index 00000000000..8ec99d550a3 --- /dev/null +++ b/dlls/appwiz.cpl/appwiz.manifest @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> +<assemblyIdentity type="win32" name="Wine.Appwiz" version="0.0.0.0"/> +<dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> +</dependency> +</assembly> diff --git a/dlls/appwiz.cpl/appwiz.rc b/dlls/appwiz.cpl/appwiz.rc index 589f27548f9..c2e93a426c0 100644 --- a/dlls/appwiz.cpl/appwiz.rc +++ b/dlls/appwiz.cpl/appwiz.rc @@ -126,5 +126,8 @@ FONT 8, "MS Shell Dlg" LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +/* @makedep: appwiz.manifest */ +123 RT_MANIFEST appwiz.manifest + /* @makedep: appwiz.ico */ ICO_MAIN ICON "appwiz.ico"
1
0
0
0
Zhiyi Zhang : rundll32: Activate context at ID 123 before calling library functions.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: d1d91288ffe4a2e3ac9ea6e1b643de4ccd549754 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=d1d91288ffe4a2e3ac9ea6e1…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Wed Apr 13 17:40:47 2022 +0800 rundll32: Activate context at ID 123 before calling library functions. This is required to enable common control v6 for library functions called by rundll32.exe. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/rundll32/rundll32.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/programs/rundll32/rundll32.c b/programs/rundll32/rundll32.c index fe9d17f0f48..2fb87fb8a50 100644 --- a/programs/rundll32/rundll32.c +++ b/programs/rundll32/rundll32.c @@ -276,9 +276,12 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE hOldInstance, LPWSTR szCmdLine HWND hWnd; LPWSTR szDllName,szEntryPoint; void *entry_point = NULL; - BOOL unicode = FALSE, win16 = FALSE; + BOOL unicode = FALSE, win16 = FALSE, activated = FALSE; + HMODULE hDll, hCtx = INVALID_HANDLE_VALUE; + WCHAR path[MAX_PATH]; STARTUPINFOW info; - HMODULE hDll; + ULONG_PTR cookie; + ACTCTXW ctx; hWnd=NULL; hDll=NULL; @@ -301,6 +304,21 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE hOldInstance, LPWSTR szCmdLine szEntryPoint = get_next_arg(&szCmdLine); WINE_TRACE("EntryPoint=%s\n",wine_dbgstr_w(szEntryPoint)); + /* Activate context before DllMain() is called */ + if (SearchPathW(NULL, szDllName, NULL, ARRAY_SIZE(path), path, NULL)) + { + memset(&ctx, 0, sizeof(ctx)); + ctx.cbSize = sizeof(ctx); + ctx.lpSource = path; + ctx.lpResourceName = MAKEINTRESOURCEW(123); + ctx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; + hCtx = CreateActCtxW(&ctx); + if (hCtx != INVALID_HANDLE_VALUE) + activated = ActivateActCtx(hCtx, &cookie); + else + WINE_TRACE("No manifest at ID 123 in %s\n", wine_dbgstr_w(path)); + } + /* Load the library */ hDll=LoadLibraryW(szDllName); if (hDll) entry_point = get_entry_point32( hDll, szEntryPoint, &unicode ); @@ -367,6 +385,9 @@ CLEANUP: DestroyWindow(hWnd); if (hDll) FreeLibrary(hDll); + if (activated) + DeactivateActCtx(0, cookie); + ReleaseActCtx(hCtx); HeapFree(GetProcessHeap(),0,szDllName); return 0; /* rundll32 always returns 0! */ }
1
0
0
0
Zhiyi Zhang : shell32: Activate context at ID 123 before loading control panel applets.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 765d4c1e77c92f5c978de257aa3f9e8d104b104a URL:
https://source.winehq.org/git/wine.git/?a=commit;h=765d4c1e77c92f5c978de257…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Wed Apr 13 17:40:41 2022 +0800 shell32: Activate context at ID 123 before loading control panel applets. This is required to enable common control v6 when running control panel applets using "rundll32.exe shell32.dll,Control_RunDLL". Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/shell32/control.c | 25 +++++++++++++++++++++++++ dlls/shell32/cpanel.h | 3 +++ 2 files changed, 28 insertions(+) diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c index d8a5edd9722..66987ed3192 100644 --- a/dlls/shell32/control.c +++ b/dlls/shell32/control.c @@ -53,6 +53,9 @@ void Control_UnloadApplet(CPlApplet* applet) if (applet->proc) applet->proc(applet->hWnd, CPL_EXIT, 0L, 0L); FreeLibrary(applet->hModule); + if (applet->context_activated) + DeactivateActCtx(0, applet->cookie); + ReleaseActCtx(applet->context); list_remove( &applet->entry ); heap_free(applet->cmd); heap_free(applet); @@ -60,15 +63,19 @@ void Control_UnloadApplet(CPlApplet* applet) CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) { + WCHAR path[MAX_PATH]; CPlApplet* applet; DWORD len; unsigned i; CPLINFO info; NEWCPLINFOW newinfo; + ACTCTXW ctx; if (!(applet = heap_alloc_zero(sizeof(*applet)))) return applet; + applet->context = INVALID_HANDLE_VALUE; + len = ExpandEnvironmentStringsW(cmd, NULL, 0); if (len > 0) { @@ -87,6 +94,21 @@ CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) applet->hWnd = hWnd; + /* Activate context before DllMain() is called */ + if (SearchPathW(NULL, applet->cmd, NULL, ARRAY_SIZE(path), path, NULL)) + { + memset(&ctx, 0, sizeof(ctx)); + ctx.cbSize = sizeof(ctx); + ctx.lpSource = path; + ctx.lpResourceName = MAKEINTRESOURCEW(123); + ctx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; + applet->context = CreateActCtxW(&ctx); + if (applet->context != INVALID_HANDLE_VALUE) + applet->context_activated = ActivateActCtx(applet->context, &applet->cookie); + else + TRACE("No manifest at ID 123 in %s\n", wine_dbgstr_w(path)); + } + if (!(applet->hModule = LoadLibraryW(applet->cmd))) { WARN("Cannot load control panel applet %s\n", debugstr_w(applet->cmd)); goto theError; @@ -177,6 +199,9 @@ CPlApplet* Control_LoadApplet(HWND hWnd, LPCWSTR cmd, CPanel* panel) theError: FreeLibrary(applet->hModule); + if (applet->context_activated) + DeactivateActCtx(0, applet->cookie); + ReleaseActCtx(applet->context); heap_free(applet->cmd); heap_free(applet); return NULL; diff --git a/dlls/shell32/cpanel.h b/dlls/shell32/cpanel.h index 285fa8e1724..8e29b6d3331 100644 --- a/dlls/shell32/cpanel.h +++ b/dlls/shell32/cpanel.h @@ -40,6 +40,9 @@ typedef struct CPlApplet { unsigned count; /* number of subprograms */ HMODULE hModule; /* module of loaded applet */ APPLET_PROC proc; /* entry point address */ + BOOL context_activated; /* whether context is activated */ + HANDLE context; /* activation context handle */ + ULONG_PTR cookie; /* activation context cookie */ struct applet_info info[1]; /* array of count information */ } CPlApplet;
1
0
0
0
Zhiyi Zhang : kernel32/tests: Add more CreateActCtx() tests.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 596b64739122d6a23784160faea738a7c3c3a641 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=596b64739122d6a23784160f…
Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Wed Apr 13 17:40:27 2022 +0800 kernel32/tests: Add more CreateActCtx() tests. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/tests/actctx.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/dlls/kernel32/tests/actctx.c b/dlls/kernel32/tests/actctx.c index ebe1bb86470..71337c0f38e 100644 --- a/dlls/kernel32/tests/actctx.c +++ b/dlls/kernel32/tests/actctx.c @@ -2688,9 +2688,12 @@ static void extract_resource(const char *name, const char *type, const char *pat static void test_CreateActCtx(void) { + static const DWORD flags[] = {LOAD_LIBRARY_AS_DATAFILE, LOAD_LIBRARY_AS_IMAGE_RESOURCE, + LOAD_LIBRARY_AS_IMAGE_RESOURCE | LOAD_LIBRARY_AS_DATAFILE}; CHAR path[MAX_PATH], dir[MAX_PATH], dll[MAX_PATH]; ACTCTXA actctx; HANDLE handle; + int i; GetTempPathA(ARRAY_SIZE(path), path); strcat(path, "main_wndcls.manifest"); @@ -2827,6 +2830,34 @@ todo_wine { delete_manifest_file("testdir.manifest"); delete_manifest_file("assembly_dir\\testdir.manifest"); RemoveDirectoryA(dir); + + /* create using lpSource with a DLL relative name */ + memset(&actctx, 0, sizeof(actctx)); + actctx.cbSize = sizeof(actctx); + actctx.lpSource = "shell32.dll"; + actctx.lpResourceName = MAKEINTRESOURCEA(124); + actctx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID; + handle = CreateActCtxA(&actctx); + ok(handle == INVALID_HANDLE_VALUE, "CreateActCtxA succeeded\n"); + + /* create from module loaded as data file */ + memset(&actctx, 0, sizeof(actctx)); + actctx.cbSize = sizeof(actctx); + actctx.lpResourceName = MAKEINTRESOURCEA(1); + actctx.dwFlags = ACTCTX_FLAG_HMODULE_VALID | ACTCTX_FLAG_RESOURCE_NAME_VALID; + for (i = 0; i < ARRAY_SIZE(flags); ++i) + { + winetest_push_context("%lu", flags[i]); + + /* use explorer.exe because using modules already loaded has a different behavior */ + actctx.hModule = LoadLibraryExA("C:\\windows\\explorer.exe", NULL, flags[i]); + ok(actctx.hModule != NULL, "LoadLibraryExA failed, error %lu\n", GetLastError()); + handle = CreateActCtxA(&actctx); + ok(handle == INVALID_HANDLE_VALUE, "CreateActCtxA succeeded\n"); + FreeLibrary(actctx.hModule); + + winetest_pop_context(); + } } static BOOL init_funcs(void)
1
0
0
0
Jacek Caban : user32: Get rid of __wine_set_pixel_format.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 0953de5cab03d4582ae4e5c900cec7bf7223a46d URL:
https://source.winehq.org/git/wine.git/?a=commit;h=0953de5cab03d4582ae4e5c9…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 13 15:09:19 2022 +0200 user32: Get rid of __wine_set_pixel_format. Use NtUserSetWindowPixelFormat in drivers instead. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/opengl32/make_opengl | 3 +-- dlls/user32/user32.spec | 8 -------- dlls/user32/win.c | 9 --------- dlls/wineandroid.drv/opengl.c | 2 +- dlls/winemac.drv/opengl.c | 2 +- dlls/winex11.drv/opengl.c | 4 ++-- include/wine/wgl_driver.h | 1 - 7 files changed, 5 insertions(+), 24 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index ebfd3c9161e..09531731f8d 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -645,8 +645,7 @@ foreach (sort keys %norm_functions) } print HEADER "\n\n"; -print HEADER "extern struct opengl_funcs * CDECL __wine_get_wgl_driver( HDC hdc, UINT version );\n"; -print HEADER "extern BOOL CDECL __wine_set_pixel_format( HWND hwnd, int format );\n\n"; +print HEADER "extern struct opengl_funcs * CDECL __wine_get_wgl_driver( HDC hdc, UINT version );\n\n"; print HEADER "#endif /* __WINE_WGL_DRIVER_H */\n"; close HEADER; diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 4bd42fea425..af63ae007a1 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -831,11 +831,3 @@ @ varargs wsprintfW(wstr wstr) @ stdcall wvsprintfA(ptr str ptr) @ stdcall wvsprintfW(ptr wstr ptr) - -################################################################ -# Wine internal extensions -# -# All functions must be prefixed with '__wine_' (for internal functions) -# or 'wine_' (for user-visible functions) to avoid namespace conflicts. -# -@ cdecl __wine_set_pixel_format(long long) diff --git a/dlls/user32/win.c b/dlls/user32/win.c index de0dc2f2fb7..f5c22bfbadc 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -1698,15 +1698,6 @@ BOOL WINAPI SwitchDesktop( HDESK hDesktop) } -/*********************************************************************** - * __wine_set_pixel_format - */ -BOOL CDECL __wine_set_pixel_format( HWND hwnd, int format ) -{ - return NtUserSetWindowPixelFormat( hwnd, format ); -} - - /***************************************************************************** * UpdateLayeredWindowIndirect (USER32.@) */ diff --git a/dlls/wineandroid.drv/opengl.c b/dlls/wineandroid.drv/opengl.c index 3d18f99fb1a..9f20e51b8da 100644 --- a/dlls/wineandroid.drv/opengl.c +++ b/dlls/wineandroid.drv/opengl.c @@ -245,7 +245,7 @@ static BOOL set_pixel_format( HDC hdc, int format, BOOL allow_change ) release_gl_drawable( gl ); if (prev && prev != format && !allow_change) return FALSE; - if (__wine_set_pixel_format( hwnd, format )) return TRUE; + if (NtUserSetWindowPixelFormat( hwnd, format )) return TRUE; destroy_gl_drawable( hwnd ); return FALSE; } diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c index ca7c45aa966..d61d0a6ea66 100644 --- a/dlls/winemac.drv/opengl.c +++ b/dlls/winemac.drv/opengl.c @@ -1600,7 +1600,7 @@ static BOOL set_pixel_format(HDC hdc, int fmt, BOOL allow_reset) done: release_win_data(data); - if (ret && gl_surface_mode == GL_SURFACE_BEHIND) __wine_set_pixel_format(hwnd, fmt); + if (ret && gl_surface_mode == GL_SURFACE_BEHIND) NtUserSetWindowPixelFormat(hwnd, fmt); return ret; } diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index 422f52a521a..ba38549e0e4 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -1398,7 +1398,7 @@ static BOOL set_win_format( HWND hwnd, const struct wgl_pixel_format *format, BO XFlush( gdi_display ); release_gl_drawable( gl ); - __wine_set_pixel_format( hwnd, pixel_format_index( format )); + NtUserSetWindowPixelFormat( hwnd, pixel_format_index( format )); return TRUE; } @@ -1508,7 +1508,7 @@ void set_gl_drawable_parent( HWND hwnd, HWND parent ) else { destroy_gl_drawable( hwnd ); - __wine_set_pixel_format( hwnd, 0 ); + NtUserSetWindowPixelFormat( hwnd, 0 ); } release_gl_drawable( old ); } diff --git a/include/wine/wgl_driver.h b/include/wine/wgl_driver.h index f077a3d0f09..36b1f384ddf 100644 --- a/include/wine/wgl_driver.h +++ b/include/wine/wgl_driver.h @@ -3406,6 +3406,5 @@ struct opengl_funcs USE_GL_FUNC(glViewport) extern struct opengl_funcs * CDECL __wine_get_wgl_driver( HDC hdc, UINT version ); -extern BOOL CDECL __wine_set_pixel_format( HWND hwnd, int format ); #endif /* __WINE_WGL_DRIVER_H */
1
0
0
0
Jacek Caban : winex11: Directly use win32u for user functions in window.c.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 55f4cf8c851cc156c5b77f9e333e4feed61387b6 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=55f4cf8c851cc156c5b77f9e…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 13 15:08:59 2022 +0200 winex11: Directly use win32u for user functions in window.c. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/winex11.drv/window.c | 205 ++++++++++++++++++++++++---------------------- dlls/winex11.drv/x11drv.h | 19 +++++ 2 files changed, 124 insertions(+), 100 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=55f4cf8c851cc156c5b7…
1
0
0
0
Jacek Caban : winex11: Remove no longer needed helpers.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 523a6eba0250e734a30b9310ab694e2a2af6d6ca URL:
https://source.winehq.org/git/wine.git/?a=commit;h=523a6eba0250e734a30b9310…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 13 15:08:36 2022 +0200 winex11: Remove no longer needed helpers. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/winex11.drv/desktop.c | 10 +++++----- dlls/winex11.drv/display.c | 18 ++++-------------- dlls/winex11.drv/init.c | 2 +- dlls/winex11.drv/mouse.c | 6 +++--- dlls/winex11.drv/window.c | 6 +++--- dlls/winex11.drv/x11drv.h | 4 +--- 6 files changed, 17 insertions(+), 29 deletions(-) diff --git a/dlls/winex11.drv/desktop.c b/dlls/winex11.drv/desktop.c index 0ac538d06ed..a89824772d0 100644 --- a/dlls/winex11.drv/desktop.c +++ b/dlls/winex11.drv/desktop.c @@ -118,7 +118,7 @@ static BOOL X11DRV_desktop_get_modes( ULONG_PTR id, DWORD flags, DEVMODEW **new_ RECT primary_rect; DEVMODEW *modes; - primary_rect = get_primary_monitor_rect(); + primary_rect = NtUserGetPrimaryMonitorRect(); screen_width = primary_rect.right - primary_rect.left; screen_height = primary_rect.bottom - primary_rect.top; @@ -166,7 +166,7 @@ static void X11DRV_desktop_free_modes( DEVMODEW *modes ) static BOOL X11DRV_desktop_get_current_mode( ULONG_PTR id, DEVMODEW *mode ) { - RECT primary_rect = get_primary_monitor_rect(); + RECT primary_rect = NtUserGetPrimaryMonitorRect(); mode->dmFields = DM_DISPLAYORIENTATION | DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFLAGS | DM_DISPLAYFREQUENCY | DM_POSITION; @@ -374,7 +374,7 @@ BOOL CDECL X11DRV_create_desktop( UINT width, UINT height ) BOOL is_desktop_fullscreen(void) { - RECT primary_rect = get_primary_monitor_rect(); + RECT primary_rect = NtUserGetPrimaryMonitorRect(); return (primary_rect.right - primary_rect.left == max_width && primary_rect.bottom - primary_rect.top == max_height); } @@ -421,8 +421,8 @@ void X11DRV_resize_desktop( BOOL send_display_change ) HWND hwnd = GetDesktopWindow(); INT width, height; - virtual_rect = get_virtual_screen_rect(); - primary_rect = get_primary_monitor_rect(); + virtual_rect = NtUserGetVirtualScreenRect(); + primary_rect = NtUserGetPrimaryMonitorRect(); width = primary_rect.right; height = primary_rect.bottom; diff --git a/dlls/winex11.drv/display.c b/dlls/winex11.drv/display.c index 77b3d9e303c..87287854044 100644 --- a/dlls/winex11.drv/display.c +++ b/dlls/winex11.drv/display.c @@ -44,7 +44,7 @@ void release_display_device_init_mutex(HANDLE mutex) POINT virtual_screen_to_root(INT x, INT y) { - RECT virtual = get_virtual_screen_rect(); + RECT virtual = NtUserGetVirtualScreenRect(); POINT pt; pt.x = x - virtual.left; @@ -54,7 +54,7 @@ POINT virtual_screen_to_root(INT x, INT y) POINT root_to_virtual_screen(INT x, INT y) { - RECT virtual = get_virtual_screen_rect(); + RECT virtual = NtUserGetVirtualScreenRect(); POINT pt; pt.x = x + virtual.left; @@ -62,16 +62,6 @@ POINT root_to_virtual_screen(INT x, INT y) return pt; } -RECT get_virtual_screen_rect(void) -{ - return NtUserGetVirtualScreenRect(); -} - -RECT get_primary_monitor_rect(void) -{ - return NtUserGetPrimaryMonitorRect(); -} - /* Get the primary monitor rect from the host system */ RECT get_host_primary_monitor_rect(void) { @@ -214,9 +204,9 @@ void X11DRV_DisplayDevices_Update(BOOL send_display_change) HWND foreground; UINT mask = 0; - old_virtual_rect = get_virtual_screen_rect(); + old_virtual_rect = NtUserGetVirtualScreenRect(); X11DRV_DisplayDevices_Init(TRUE); - new_virtual_rect = get_virtual_screen_rect(); + new_virtual_rect = NtUserGetVirtualScreenRect(); /* Calculate XReconfigureWMWindow() mask */ if (old_virtual_rect.left != new_virtual_rect.left) diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c index 6f24e1bf370..8f4bb9fd7e9 100644 --- a/dlls/winex11.drv/init.c +++ b/dlls/winex11.drv/init.c @@ -91,7 +91,7 @@ static BOOL CDECL X11DRV_CreateDC( PHYSDEV *pdev, LPCWSTR device, LPCWSTR output physDev->depth = default_visual.depth; physDev->color_shifts = &X11DRV_PALETTE_default_shifts; - physDev->dc_rect = get_virtual_screen_rect(); + physDev->dc_rect = NtUserGetVirtualScreenRect(); OffsetRect( &physDev->dc_rect, -physDev->dc_rect.left, -physDev->dc_rect.top ); push_dc_driver( pdev, &physDev->dev, &x11drv_funcs.dc_funcs ); if (xrender_funcs && !xrender_funcs->pCreateDC( pdev, device, output, initData )) return FALSE; diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c index 895928c4a31..65e04d6cab5 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -562,7 +562,7 @@ BOOL clip_fullscreen_window( HWND hwnd, BOOL reset ) if (!GetMonitorInfoW( monitor, &monitor_info )) return FALSE; if (!grab_fullscreen) { - RECT virtual_rect = get_virtual_screen_rect(); + RECT virtual_rect = NtUserGetVirtualScreenRect(); if (!EqualRect( &monitor_info.rcMonitor, &virtual_rect )) return FALSE; if (is_virtual_desktop()) return FALSE; } @@ -1540,7 +1540,7 @@ BOOL X11DRV_GetCursorPos(LPPOINT pos) */ BOOL X11DRV_ClipCursor( LPCRECT clip ) { - RECT virtual_rect = get_virtual_screen_rect(); + RECT virtual_rect = NtUserGetVirtualScreenRect(); if (!clip) clip = &virtual_rect; @@ -1853,7 +1853,7 @@ static BOOL map_raw_event_coords( XIRawEvent *event, INPUT *input ) } if (event->deviceid != thread_data->xi2_current_slave) return FALSE; - virtual_rect = get_virtual_screen_rect(); + virtual_rect = NtUserGetVirtualScreenRect(); if (x->max <= x->min) x_scale = 1; else x_scale = (virtual_rect.right - virtual_rect.left) / (x->max - x->min); diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index b3202847bb7..1803a546dad 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -1836,7 +1836,7 @@ BOOL X11DRV_CreateDesktopWindow( HWND hwnd ) if (!width && !height) /* not initialized yet */ { - RECT rect = get_virtual_screen_rect(); + RECT rect = NtUserGetVirtualScreenRect(); SERVER_START_REQ( set_window_pos ) { @@ -2205,7 +2205,7 @@ void X11DRV_ReleaseDC( HWND hwnd, HDC hdc ) escape.code = X11DRV_SET_DRAWABLE; escape.drawable = root_window; escape.mode = IncludeInferiors; - escape.dc_rect = get_virtual_screen_rect(); + escape.dc_rect = NtUserGetVirtualScreenRect(); OffsetRect( &escape.dc_rect, -2 * escape.dc_rect.left, -2 * escape.dc_rect.top ); NtGdiExtEscape( hdc, NULL, 0, X11DRV_ESCAPE, sizeof(escape), (LPSTR)&escape, 0, NULL ); } @@ -2320,7 +2320,7 @@ done: static inline BOOL get_surface_rect( const RECT *visible_rect, RECT *surface_rect ) { - *surface_rect = get_virtual_screen_rect(); + *surface_rect = NtUserGetVirtualScreenRect(); if (!IntersectRect( surface_rect, surface_rect, visible_rect )) return FALSE; OffsetRect( surface_rect, -visible_rect->left, -visible_rect->top ); diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 2112980aab5..83da0a88bd7 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -699,8 +699,6 @@ extern void X11DRV_X_to_window_rect( struct x11drv_win_data *data, RECT *rect, i extern BOOL is_window_rect_full_screen( const RECT *rect ) DECLSPEC_HIDDEN; extern POINT virtual_screen_to_root( INT x, INT y ) DECLSPEC_HIDDEN; extern POINT root_to_virtual_screen( INT x, INT y ) DECLSPEC_HIDDEN; -extern RECT get_virtual_screen_rect(void) DECLSPEC_HIDDEN; -extern RECT get_primary_monitor_rect(void) DECLSPEC_HIDDEN; extern RECT get_host_primary_monitor_rect(void) DECLSPEC_HIDDEN; extern RECT get_work_area( const RECT *monitor_rect ) DECLSPEC_HIDDEN; extern void xinerama_init( unsigned int width, unsigned int height ) DECLSPEC_HIDDEN; @@ -833,7 +831,7 @@ extern void X11DRV_SetPreeditState(HWND hwnd, BOOL fOpen) DECLSPEC_HIDDEN; static inline BOOL is_window_rect_mapped( const RECT *rect ) { - RECT virtual_rect = get_virtual_screen_rect(); + RECT virtual_rect = NtUserGetVirtualScreenRect(); return (rect->left < virtual_rect.right && rect->top < virtual_rect.bottom && max( rect->right, rect->left + 1 ) > virtual_rect.left &&
1
0
0
0
Jacek Caban : win32u: Introduce inline helpers for NtUserCallHwndParam calls.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: cfb6f9a1e82caa56eac9dccf7d7d0c0f3cd9a9a8 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=cfb6f9a1e82caa56eac9dccf…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 13 15:08:21 2022 +0200 win32u: Introduce inline helpers for NtUserCallHwndParam calls. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/objects.c | 2 +- dlls/user32/class.c | 10 +-- dlls/user32/focus.c | 4 +- dlls/user32/message.c | 2 +- dlls/user32/sysparams.c | 2 +- dlls/user32/win.c | 20 ++--- dlls/user32/win.h | 1 - dlls/user32/winpos.c | 24 ++---- dlls/win32u/window.c | 82 +++++++++++++------- include/ntuser.h | 193 +++++++++++++++++++++++++++++++++++++++--------- 10 files changed, 240 insertions(+), 100 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=cfb6f9a1e82caa56eac9…
1
0
0
0
Jacek Caban : win32u: Introduce inline helpers for NtUserCallHwnd calls.
by Alexandre Julliard
13 Apr '22
13 Apr '22
Module: wine Branch: master Commit: 31dbce9675b6f2b25a4af5d4102fc36213838137 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=31dbce9675b6f2b25a4af5d4…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Apr 13 15:08:02 2022 +0200 win32u: Introduce inline helpers for NtUserCallHwnd calls. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/user32/win.c | 20 ++++++------- dlls/user32/winpos.c | 2 +- dlls/win32u/window.c | 30 ++++++++++++------- include/ntuser.h | 81 ++++++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 97 insertions(+), 36 deletions(-) diff --git a/dlls/user32/win.c b/dlls/user32/win.c index 24aeaaeadfd..5223c776d5f 100644 --- a/dlls/user32/win.c +++ b/dlls/user32/win.c @@ -906,7 +906,7 @@ BOOL WINAPI EnableWindow( HWND hwnd, BOOL enable ) */ BOOL WINAPI IsWindowEnabled( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserIsWindowEnabled ); + return NtUserIsWindowEnabled( hwnd ); } /*********************************************************************** @@ -914,7 +914,7 @@ BOOL WINAPI IsWindowEnabled( HWND hwnd ) */ BOOL WINAPI IsWindowUnicode( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserIsWindowUnicode ); + return NtUserIsWindowUnicode( hwnd ); } @@ -923,7 +923,7 @@ BOOL WINAPI IsWindowUnicode( HWND hwnd ) */ DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext( HWND hwnd ) { - return (DPI_AWARENESS_CONTEXT)NtUserCallHwnd( hwnd, NtUserGetWindowDpiAwarenessContext ); + return NtUserGetWindowDpiAwarenessContext( hwnd ); } @@ -932,7 +932,7 @@ DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext( HWND hwnd ) */ UINT WINAPI GetDpiForWindow( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserGetDpiForWindow ); + return NtUserGetDpiForWindow( hwnd ); } @@ -1215,7 +1215,7 @@ INT WINAPI GetWindowTextLengthA( HWND hwnd ) /* when window belongs to other process, don't send a message */ GetCPInfo( CP_ACP, &info ); - return NtUserCallHwnd( hwnd, NtUserGetWindowTextLength ) * info.MaxCharSize; + return NtUserGetWindowTextLength( hwnd ) * info.MaxCharSize; } /******************************************************************* @@ -1226,7 +1226,7 @@ INT WINAPI GetWindowTextLengthW( HWND hwnd ) if (WIN_IsCurrentProcess( hwnd )) return SendMessageW( hwnd, WM_GETTEXTLENGTH, 0, 0 ); /* when window belongs to other process, don't send a message */ - return NtUserCallHwnd( hwnd, NtUserGetWindowTextLength ); + return NtUserGetWindowTextLength( hwnd ); } @@ -1235,7 +1235,7 @@ INT WINAPI GetWindowTextLengthW( HWND hwnd ) */ BOOL WINAPI IsWindow( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserIsWindow ); + return NtUserIsWindow( hwnd ); } @@ -1253,7 +1253,7 @@ DWORD WINAPI GetWindowThreadProcessId( HWND hwnd, LPDWORD process ) */ HWND WINAPI GetParent( HWND hwnd ) { - return UlongToHandle( NtUserCallHwnd( hwnd, NtUserGetParent )); + return NtUserGetParent( hwnd ); } @@ -1271,7 +1271,7 @@ BOOL WINAPI IsChild( HWND parent, HWND child ) */ BOOL WINAPI IsWindowVisible( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserIsWindowVisible ); + return NtUserIsWindowVisible( hwnd ); } @@ -1564,7 +1564,7 @@ BOOL WINAPI FlashWindow( HWND hWnd, BOOL bInvert ) */ DWORD WINAPI GetWindowContextHelpId( HWND hwnd ) { - return NtUserCallHwnd( hwnd, NtUserGetWindowContextHelpId ); + return NtUserGetWindowContextHelpId( hwnd ); } diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c index 3f7a38a75c9..04a3ddb5e21 100644 --- a/dlls/user32/winpos.c +++ b/dlls/user32/winpos.c @@ -895,7 +895,7 @@ BOOL WINAPI EndDeferWindowPos( HDWP hdwp ) */ UINT WINAPI ArrangeIconicWindows( HWND parent ) { - return NtUserCallHwnd( parent, NtUserArrangeIconicWindows ); + return NtUserArrangeIconicWindows( parent ); } diff --git a/dlls/win32u/window.c b/dlls/win32u/window.c index b2913b267c4..b7a6ebb7090 100644 --- a/dlls/win32u/window.c +++ b/dlls/win32u/window.c @@ -4976,26 +4976,36 @@ ULONG_PTR WINAPI NtUserCallHwnd( HWND hwnd, DWORD code ) { switch (code) { - case NtUserArrangeIconicWindows: + case NtUserCallHwnd_ArrangeIconicWindows: return arrange_iconic_windows( hwnd ); - case NtUserGetDpiForWindow: + + case NtUserCallHwnd_GetDpiForWindow: return get_dpi_for_window( hwnd ); - case NtUserGetParent: + + case NtUserCallHwnd_GetParent: return HandleToUlong( get_parent( hwnd )); - case NtUserGetWindowContextHelpId: + + case NtUserCallHwnd_GetWindowContextHelpId: return get_window_context_help_id( hwnd ); - case NtUserGetWindowDpiAwarenessContext: + + case NtUserCallHwnd_GetWindowDpiAwarenessContext: return (ULONG_PTR)get_window_dpi_awareness_context( hwnd ); - case NtUserGetWindowTextLength: + + case NtUserCallHwnd_GetWindowTextLength: return get_server_window_text( hwnd, NULL, 0 ); - case NtUserIsWindow: + + case NtUserCallHwnd_IsWindow: return is_window( hwnd ); - case NtUserIsWindowEnabled: + + case NtUserCallHwnd_IsWindowEnabled: return is_window_enabled( hwnd ); - case NtUserIsWindowUnicode: + + case NtUserCallHwnd_IsWindowUnicode: return is_window_unicode( hwnd ); - case NtUserIsWindowVisible: + + case NtUserCallHwnd_IsWindowVisible: return is_window_visible( hwnd ); + default: FIXME( "invalid code %u\n", code ); return 0; diff --git a/include/ntuser.h b/include/ntuser.h index 8d94fc133da..df89c63b405 100644 --- a/include/ntuser.h +++ b/include/ntuser.h @@ -131,21 +131,6 @@ struct win_hook_params #define NTUSER_DPI_PER_MONITOR_AWARE_V2 0x00000022 #define NTUSER_DPI_PER_UNAWARE_GDISCALED 0x40006010 -/* NtUserCallHwnd codes, not compatible with Windows */ -enum -{ - NtUserArrangeIconicWindows, - NtUserGetDpiForWindow, - NtUserGetParent, - NtUserGetWindowContextHelpId, - NtUserGetWindowDpiAwarenessContext, - NtUserGetWindowTextLength, - NtUserIsWindow, - NtUserIsWindowEnabled, - NtUserIsWindowUnicode, - NtUserIsWindowVisible, -}; - /* NtUserCallHwndParam codes, not compatible with Windows */ enum { @@ -810,4 +795,70 @@ static inline BOOL NtUserUnhookWindowsHook( INT id, HOOKPROC proc ) return NtUserCallTwoParam( id, (UINT_PTR)proc, NtUserCallTwoParam_UnhookWindowsHook ); } +/* NtUserCallHwnd codes, not compatible with Windows */ +enum +{ + NtUserCallHwnd_ArrangeIconicWindows, + NtUserCallHwnd_GetDpiForWindow, + NtUserCallHwnd_GetParent, + NtUserCallHwnd_GetWindowContextHelpId, + NtUserCallHwnd_GetWindowDpiAwarenessContext, + NtUserCallHwnd_GetWindowTextLength, + NtUserCallHwnd_IsWindow, + NtUserCallHwnd_IsWindowEnabled, + NtUserCallHwnd_IsWindowUnicode, + NtUserCallHwnd_IsWindowVisible, +}; + +static inline UINT NtUserArrangeIconicWindows( HWND parent ) +{ + return NtUserCallHwnd( parent, NtUserCallHwnd_ArrangeIconicWindows ); +} + +static inline DWORD NtUserGetWindowContextHelpId( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_GetWindowContextHelpId ); +} + +static inline UINT NtUserGetDpiForWindow( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_GetDpiForWindow ); +} + +static inline HWND NtUserGetParent( HWND hwnd ) +{ + return UlongToHandle( NtUserCallHwnd( hwnd, NtUserCallHwnd_GetParent )); +} + +static inline DPI_AWARENESS_CONTEXT NtUserGetWindowDpiAwarenessContext( HWND hwnd ) +{ + return (DPI_AWARENESS_CONTEXT)NtUserCallHwnd( hwnd, + NtUserCallHwnd_GetWindowDpiAwarenessContext ); +} + +static inline INT NtUserGetWindowTextLength( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_GetWindowTextLength ); +} + +static inline BOOL NtUserIsWindow( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_IsWindow ); +} + +static inline BOOL NtUserIsWindowEnabled( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_IsWindowEnabled ); +} + +static inline BOOL NtUserIsWindowUnicode( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_IsWindowUnicode ); +} + +static inline BOOL NtUserIsWindowVisible( HWND hwnd ) +{ + return NtUserCallHwnd( hwnd, NtUserCallHwnd_IsWindowVisible ); +} + #endif /* _NTUSER_ */
1
0
0
0
← Newer
1
...
55
56
57
58
59
60
61
...
103
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
Results per page:
10
25
50
100
200