diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c index 55722c16edd..1787b995f40 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c @@ -2816,6 +2816,15 @@ LONG WINAPI ChangeDisplaySettingsExW( LPCWSTR devname, LPDEVMODEW devmode, HWND } +/*********************************************************************** + * DisplayConfigGetDeviceInfo (USER32.@) + */ +LONG WINAPI DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_HEADER *packet) +{ + FIXME("stub: %p\n", packet); + return ERROR_NOT_SUPPORTED; +} + /*********************************************************************** * EnumDisplaySettingsW (USER32.@) * diff --git a/dlls/user32/user32.spec b/dlls/user32/user32.spec index 9b409df43fa..2f5d36fa7ee 100644 --- a/dlls/user32/user32.spec +++ b/dlls/user32/user32.spec @@ -168,6 +168,7 @@ @ stdcall DisableProcessWindowsGhosting() @ stdcall DispatchMessageA(ptr) @ stdcall DispatchMessageW(ptr) +@ stdcall DisplayConfigGetDeviceInfo(ptr) # @ stub DisplayExitWindowsWarnings @ stdcall DlgDirListA(long str long long long) @ stdcall DlgDirListComboBoxA(long ptr long long long) diff --git a/include/wingdi.h b/include/wingdi.h index f6fd6feb0a9..ff114066426 100644 --- a/include/wingdi.h +++ b/include/wingdi.h @@ -3278,6 +3278,25 @@ typedef struct _RGNDATA { typedef BOOL (CALLBACK *ABORTPROC)(HDC, INT); +typedef enum { + DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, + DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, + DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, + DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, + DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, + DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xffffffff +} DISPLAYCONFIG_DEVICE_INFO_TYPE; + +typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER { + DISPLAYCONFIG_DEVICE_INFO_TYPE type; + UINT32 size; + LUID adapterId; + UINT32 id; +} DISPLAYCONFIG_DEVICE_INFO_HEADER; + typedef struct { DWORD cb; CHAR DeviceName[32]; diff --git a/include/winuser.h b/include/winuser.h index b5f89c170ed..fa3e66181c0 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -3285,6 +3285,7 @@ WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,D WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR,LPCSTR,LPDEVMODEA,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES); WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR,LPCWSTR,LPDEVMODEW,DWORD,ACCESS_MASK,LPSECURITY_ATTRIBUTES); #define CreateDesktop WINELIB_NAME_AW(CreateDesktop) +WINUSERAPI LONG WINAPI DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_HEADER *); WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,LPDISPLAY_DEVICEA,DWORD); WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,LPDISPLAY_DEVICEW,DWORD); #define EnumDisplayDevices WINELIB_NAME_AW(EnumDisplayDevices)