Jacek Caban : user32: Use NtUserGetDisplayConfigBufferSizes.

Alexandre Julliard julliard at winehq.org
Wed Dec 1 15:23:51 CST 2021


Module: wine
Branch: master
Commit: 8b9b2580a5e7d624e3e826384b06f482fea131e8
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=8b9b2580a5e7d624e3e826384b06f482fea131e8

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Dec  1 16:02:37 2021 +0100

user32: Use NtUserGetDisplayConfigBufferSizes.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/user32/sysparams.c | 57 -------------------------------------------------
 dlls/user32/user32.spec |  2 +-
 2 files changed, 1 insertion(+), 58 deletions(-)

diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index 82dd0f4c664..592b4e2fdd5 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -4201,63 +4201,6 @@ BOOL WINAPI PhysicalToLogicalPoint( HWND hwnd, POINT *point )
     return TRUE;
 }
 
-/**********************************************************************
- *              GetDisplayConfigBufferSizes (USER32.@)
- */
-LONG WINAPI GetDisplayConfigBufferSizes(UINT32 flags, UINT32 *num_path_info, UINT32 *num_mode_info)
-{
-    LONG ret = ERROR_GEN_FAILURE;
-    HANDLE mutex;
-    HDEVINFO devinfo;
-    SP_DEVINFO_DATA device_data = {sizeof(device_data)};
-    DWORD monitor_index = 0, state_flags, type;
-
-    FIXME("(0x%x %p %p): semi-stub\n", flags, num_path_info, num_mode_info);
-
-    if (!num_path_info || !num_mode_info)
-        return ERROR_INVALID_PARAMETER;
-
-    *num_path_info = 0;
-
-    if (flags != QDC_ALL_PATHS &&
-        flags != QDC_ONLY_ACTIVE_PATHS &&
-        flags != QDC_DATABASE_CURRENT)
-        return ERROR_INVALID_PARAMETER;
-
-    if (flags != QDC_ONLY_ACTIVE_PATHS)
-        FIXME("only returning active paths\n");
-
-    wait_graphics_driver_ready();
-    mutex = get_display_device_init_mutex();
-
-    /* Iterate through "targets"/monitors.
-     * Each target corresponds to a path, and each path references a source and a target mode.
-     */
-    devinfo = SetupDiGetClassDevsW(&GUID_DEVCLASS_MONITOR, L"DISPLAY", NULL, DIGCF_PRESENT);
-    if (devinfo == INVALID_HANDLE_VALUE)
-        goto done;
-
-    while (SetupDiEnumDeviceInfo(devinfo, monitor_index++, &device_data))
-    {
-        /* Only count active monitors */
-        if (!SetupDiGetDevicePropertyW(devinfo, &device_data, &WINE_DEVPROPKEY_MONITOR_STATEFLAGS,
-                                       &type, (BYTE *)&state_flags, sizeof(state_flags), NULL, 0))
-            goto done;
-
-        if (state_flags & DISPLAY_DEVICE_ACTIVE)
-            (*num_path_info)++;
-    }
-
-    *num_mode_info = *num_path_info * 2;
-    ret = ERROR_SUCCESS;
-    TRACE("returning %u path(s) %u mode(s)\n", *num_path_info, *num_mode_info);
-
-done:
-    SetupDiDestroyDeviceInfoList(devinfo);
-    release_display_device_init_mutex(mutex);
-    return ret;
-}
-
 static DISPLAYCONFIG_ROTATION get_dc_rotation(const DEVMODEW *devmode)
 {
     if (devmode->dmFields & DM_DISPLAYORIENTATION)
diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec
index 78946be86b3..9955add4252 100644
--- a/dlls/user32/user32.spec
+++ b/dlls/user32/user32.spec
@@ -291,7 +291,7 @@
 @ stdcall GetDesktopWindow()
 @ stdcall GetDialogBaseUnits()
 @ stdcall GetDisplayAutoRotationPreferences(ptr)
-@ stdcall GetDisplayConfigBufferSizes(long ptr ptr)
+@ stdcall GetDisplayConfigBufferSizes(long ptr ptr) NtUserGetDisplayConfigBufferSizes
 @ stdcall GetDlgCtrlID(long)
 @ stdcall GetDlgItem(long long)
 @ stdcall GetDlgItemInt(long long ptr long)




More information about the wine-cvs mailing list