https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6dccccc2a3004be81bd6e…
commit 6dccccc2a3004be81bd6e6d2d257c4863c0f5f67
Author: Justin Miller <justin.miller(a)reactos.org>
AuthorDate: Tue Jan 28 03:47:40 2025 -0800
Commit: Justin Miller <justinmiller100(a)gmail.com>
CommitDate: Sun Mar 9 04:07:55 2025 -0700
[USER32_VISTA][USER32] Sync some parts with WINE-10.0
---
media/doc/WINESYNC.txt | 3 +
win32ss/user/user32/CMakeLists.txt | 2 +-
win32ss/user/user32/user32.spec | 50 +++++
win32ss/user/user32_vista/CMakeLists.txt | 20 +-
win32ss/user/user32_vista/dpi.c | 93 ++++++++-
win32ss/user/user32_vista/wine/input.c | 133 ++++++++++++-
win32ss/user/user32_vista/wine/misc.c | 147 ++++++++++++++-
win32ss/user/user32_vista/wine/sysparams.c | 291 +++++++++++++++++++++++++++++
win32ss/user/user32_vista/wine/win.c | 14 +-
9 files changed, 747 insertions(+), 6 deletions(-)
diff --git a/media/doc/WINESYNC.txt b/media/doc/WINESYNC.txt
index 4b82a0cb2c4..3ca038f04d0 100644
--- a/media/doc/WINESYNC.txt
+++ b/media/doc/WINESYNC.txt
@@ -361,6 +361,9 @@ user32 -
win32ss/user/user32/windows/text.c # Forked (lstr.c)
win32ss/user/user32/windows/winpos.c # Forked
+ win32ss/user/user32_vista/input.c # Synced to Wine-10.0
+ win32ss/user/user32_vista/misc.c # Synced to Wine-10.0
+ win32ss/user/user32_vista/win.c # Synced to Wine-10.0
schannel.c
dll/win32/schannel/schannel_wine.c # synced to wine-1.7.17 (secur32/schannel.c)
dll/win32/schannel/secur32_wine.c # partial sync to wine-1.7.17 (secur32/secur32.c)
diff --git a/win32ss/user/user32/CMakeLists.txt b/win32ss/user/user32/CMakeLists.txt
index ca2f2a143e2..2e7ac16ac0b 100644
--- a/win32ss/user/user32/CMakeLists.txt
+++ b/win32ss/user/user32/CMakeLists.txt
@@ -81,7 +81,7 @@ add_library(user32 MODULE
${CMAKE_CURRENT_BINARY_DIR}/user32.def)
set_module_type(user32 win32dll UNICODE ENTRYPOINT DllMain 12)
-target_link_libraries(user32 user32_vista_static user32_wsprintf wine win32ksys
${PSEH_LIB})
+target_link_libraries(user32 user32_vista_static user32_optional_vista user32_wsprintf
wine win32ksys ${PSEH_LIB})
add_dependencies(user32 asm)
if(MSVC AND (ARCH STREQUAL "i386"))
diff --git a/win32ss/user/user32/user32.spec b/win32ss/user/user32/user32.spec
index 7fe69be95a4..5b52db15f55 100644
--- a/win32ss/user/user32/user32.spec
+++ b/win32ss/user/user32/user32.spec
@@ -1,5 +1,6 @@
; Functions exported by Win 2K3 SP2
@ stdcall ActivateKeyboardLayout(long long) NtUserActivateKeyboardLayout
+@ stdcall -version=0x600+ AddClipboardFormatListener(ptr)
@ stdcall AdjustWindowRect(ptr long long)
@ stdcall AdjustWindowRectEx(ptr long long long)
@ stdcall AlignRects(ptr long long long)
@@ -37,6 +38,8 @@
@ stdcall ChangeDisplaySettingsW(ptr long)
@ stdcall ChangeMenuA(long long ptr long long)
@ stdcall ChangeMenuW(long long ptr long long)
+@ stdcall -version=0x600+ ChangeWindowMessageFilter(ptr long)
+@ stdcall -version=0x601+ ChangeWindowMessageFilterEx(ptr long long ptr)
@ stdcall CharLowerA(str)
@ stdcall CharLowerBuffA(str long)
@ stdcall CharLowerBuffW(wstr long)
@@ -67,6 +70,8 @@
@ stdcall ClipCursor(ptr) NtUserClipCursor
@ stdcall CloseClipboard() NtUserCloseClipboard
@ stdcall CloseDesktop(long) NtUserCloseDesktop
+@ stdcall -version=0x601+ CloseGestureInfoHandle(ptr)
+@ stdcall -version=0x601+ CloseTouchInputHandle(ptr)
@ stdcall CloseWindow(long)
@ stdcall CloseWindowStation(long) NtUserCloseWindowStation
@ stdcall CopyAcceleratorTableA(long ptr long)
@@ -95,6 +100,7 @@
@ stdcall CreateMenu()
@ stdcall CreatePopupMenu()
@ stdcall CreateSystemThreads(long)
+@ stdcall -version=0xA00+ CreateSyntheticPointerDevice(long long long)
@ stdcall CreateWindowExA(long str str long long long long long long long long ptr)
@ stdcall CreateWindowExW(long wstr wstr long long long long long long long long ptr)
@ stdcall CreateWindowStationA(str long long ptr)
@@ -164,6 +170,8 @@
@ stdcall DisableProcessWindowsGhosting()
@ stdcall DispatchMessageA(ptr)
@ stdcall DispatchMessageW(ptr)
+@ stdcall -version=0x600+ DisplayConfigGetDeviceInfo(ptr)
+@ stdcall -version=0x600+ DisplayConfigSetDeviceInfo(ptr)
@ stdcall DisplayExitWindowsWarnings(long)
@ stdcall DlgDirListA(long str long long long)
@ stdcall DlgDirListComboBoxA(long ptr long long long)
@@ -225,6 +233,7 @@
@ stdcall EnumWindowStationsW(ptr long)
@ stdcall EnumWindows(ptr long)
@ stdcall EqualRect(ptr ptr)
+@ stdcall -version=0x602+ EvaluateProximityToRect(ptr ptr ptr)
@ stdcall ExcludeUpdateRgn(long long) NtUserExcludeUpdateRgn
@ stdcall ExitWindowsEx(long long)
@ stdcall FillRect(long ptr long)
@@ -276,17 +285,23 @@
# GetDbgTagFlags
@ stdcall GetDesktopWindow()
@ stdcall GetDialogBaseUnits()
+@ stdcall -version=0x602+ GetDisplayAutoRotationPreferences(ptr)
+@ stdcall -version=0x600+ GetDisplayConfigBufferSizes(long ptr ptr)
@ stdcall GetDlgCtrlID(long)
@ stdcall GetDlgItem(long long)
@ stdcall GetDlgItemInt(long long ptr long)
@ stdcall GetDlgItemTextA(long long ptr long)
@ stdcall GetDlgItemTextW(long long ptr long)
@ stdcall GetDoubleClickTime() NtUserGetDoubleClickTime
+@ stdcall -version=0x601+ GetDpiForMonitorInternal(long long ptr ptr)
@ stdcall -version=0xA00+ GetDpiForSystem()
@ stdcall -version=0xA00+ GetDpiForWindow(ptr)
@ stdcall GetFocus()
@ stdcall GetForegroundWindow() NtUserGetForegroundWindow
@ stdcall GetGUIThreadInfo(long ptr) NtUserGetGUIThreadInfo
+@ stdcall -version=0x601+ GetGestureConfig(long long long ptr ptr long)
+@ stdcall -version=0x601+ GetGestureExtraArgs(long long ptr)
+@ stdcall -version=0x601+ GetGestureInfo(long ptr)
@ stdcall GetGuiResources(long long) NtUserGetGuiResources
@ stdcall GetIconInfo(long ptr)
@ stdcall GetInputDesktop()
@@ -332,8 +347,14 @@
@ stdcall GetNextDlgTabItem(long long long)
@ stdcall GetOpenClipboardWindow() NtUserGetOpenClipboardWindow
@ stdcall GetParent(long)
+@ stdcall -version=0x602+ GetPointerInfo(long ptr)
+@ stdcall -version=0x602+ GetPointerTouchInfo(long ptr)
+@ stdcall -version=0x602+ GetPointerTouchInfoHistory(long ptr ptr)
+@ stdcall -version=0x601+ GetPointerDevices(ptr ptr)
+@ stdcall -version=0x602+ GetPointerType(long ptr)
@ stdcall GetPriorityClipboardFormat(ptr long) NtUserGetPriorityClipboardFormat
@ stdcall GetProcessDefaultLayout(ptr)
+@ stdcall -version=0xA00+ GetProcessDpiAwarenessInternal(long ptr)
@ stdcall GetProcessWindowStation() NtUserGetProcessWindowStation
@ stdcall GetProgmanWindow ()
@ stdcall GetPropA(long str)
@@ -363,6 +384,7 @@
@ stdcall GetThreadDesktop(long)
@ stdcall GetTitleBarInfo(long ptr) NtUserGetTitleBarInfo
@ stdcall GetTopWindow(long)
+@ stdcall -version=0x601+ GetTouchInputInfo(long long ptr long)
@ stdcall GetUpdateRect(long ptr long)
@ stdcall GetUpdateRgn(long long long)
@ stdcall GetUserObjectInformationA(long long ptr long ptr)
@@ -372,6 +394,7 @@
@ stdcall GetWindow(long long)
@ stdcall GetWindowContextHelpId(long)
@ stdcall GetWindowDC(long) NtUserGetWindowDC
+@ stdcall -version=0x601+ GetWindowDisplayAffinity(long ptr)
@ stdcall GetWindowInfo(long ptr)
@ stdcall GetWindowLongA(long long)
@ stdcall -arch=x86_64,arm64 GetWindowLongPtrA(ptr long)
@@ -410,6 +433,7 @@
@ stdcall InsertMenuItemA(long long long ptr)
@ stdcall InsertMenuItemW(long long long ptr)
@ stdcall InsertMenuW(long long long long ptr)
+@ stdcall -stub -version=0x600+ InternalGetWindowIcon(ptr long)
@ stdcall InternalGetWindowText(long long long)
@ stdcall IntersectRect(ptr ptr ptr)
@ stdcall InvalidateRect(long ptr long) NtUserInvalidateRect
@@ -434,13 +458,17 @@
@ stdcall IsIconic(long)
@ stdcall IsMenu(long)
@ stdcall -stub IsProcess16Bit()
+@ stdcall -version=0x600+ IsProcessDPIAware()
@ stdcall IsRectEmpty(ptr)
@ stdcall IsSETEnabled()
@ stdcall IsServerSideWindow(long)
+@ stdcall -version=0x601+ IsTouchWindow(long ptr)
+@ stdcall -stub -version=0xA00+ IsValidDpiAwarenessContext(long)
@ stdcall IsWinEventHookInstalled(long)
@ stdcall IsWindow(long)
@ stdcall IsWindowEnabled(long)
@ stdcall IsWindowInDestroy(long)
+@ stdcall -version=0x600+ IsWindowRedirectedForPrint(long)
@ stdcall IsWindowUnicode(long)
@ stdcall IsWindowVisible(long)
@ stdcall -stub IsWow64Message()
@@ -474,6 +502,8 @@
@ stdcall LockWindowStation(long) NtUserLockWindowStation
@ stdcall LockWindowUpdate(long) NtUserLockWindowUpdate
@ stdcall LockWorkStation() NtUserLockWorkStation
+@ stdcall -version=0x600+ LogicalToPhysicalPoint(long ptr)
+@ stdcall -stub -version=0x602+ LogicalToPhysicalPointForPerMonitorDPI(long ptr)
@ stdcall LookupIconIdFromDirectory(ptr long)
@ stdcall LookupIconIdFromDirectoryEx(ptr long long long long)
@ stdcall MBToWCSEx(long str long wstr long long)
@@ -519,6 +549,7 @@
@ stdcall OpenWindowStationA(str long long)
@ stdcall OpenWindowStationW(wstr long long)
@ stdcall PackDDElParam(long long long)
+@ stdcall -version=0x602+ PackTouchHitTestingProximityEvaluation(ptr ptr)
@ stdcall PaintDesktop(long) NtUserPaintDesktop
@ stdcall PaintMenuBar(long long long long long long) NtUserPaintMenuBar
@ stdcall PeekMessageA(ptr long long long long)
@@ -536,6 +567,7 @@
# PrivateSetDbgTag
# PrivateSetRipFlags
@ stdcall PtInRect(ptr double)
+@ stdcall -version=0x600+ QueryDisplayConfig(long ptr ptr ptr ptr ptr)
@ stdcall QuerySendMessage(ptr) NtUserQuerySendMessage
@ stdcall RealChildWindowFromPoint(long double) ; Direct call
NtUserRealChildWindowFromPoint
@ stdcall RealGetWindowClass(long ptr long) RealGetWindowClassA
@@ -556,16 +588,21 @@
@ stdcall RegisterHotKey(long long long long) NtUserRegisterHotKey
@ stdcall RegisterLogonProcess(long long)
@ stdcall RegisterMessagePumpHook(ptr)
+@ stdcall -version=0x602+ RegisterPointerDeviceNotifications(long long)
+@ stdcall -version=0x600+ RegisterPowerSettingNotification(long ptr long)
@ stdcall RegisterRawInputDevices(ptr long long)
@ stdcall RegisterServicesProcess(long)
@ stdcall RegisterShellHookWindow(long)
@ stdcall RegisterSystemThread(long long)
@ stdcall RegisterTasklist(long) NtUserRegisterTasklist
+@ stdcall -version=0x602+ RegisterTouchHitTestingWindow(long long)
+@ stdcall -version=0x601+ RegisterTouchWindow(long long)
@ stdcall RegisterUserApiHook(ptr)
@ stdcall RegisterWindowMessageA(str)
@ stdcall RegisterWindowMessageW(wstr)
@ stdcall ReleaseCapture()
@ stdcall ReleaseDC(long long)
+@ stdcall -version=0x600+ RemoveClipboardFormatListener(long)
@ stdcall RemoveMenu(long long long) NtUserRemoveMenu
@ stdcall RemovePropA(long str)
@ stdcall RemovePropW(long wstr)
@@ -608,12 +645,15 @@
# SetDbgTag
@ stdcall SetDebugErrorLevel(long)
@ stdcall SetDeskWallpaper(ptr)
+@ stdcall -version=0x602+ SetDisplayAutoRotationPreferences(long)
+@ stdcall -version=0x600+ SetDisplayConfig(long ptr long ptr long)
@ stdcall SetDlgItemInt(long long long long)
@ stdcall SetDlgItemTextA(long long str)
@ stdcall SetDlgItemTextW(long long wstr)
@ stdcall SetDoubleClickTime(long)
@ stdcall SetFocus(long) NtUserSetFocus
@ stdcall SetForegroundWindow(long)
+@ stdcall -version=0x601+ SetGestureConfig(ptr long long ptr long)
@ stdcall SetInternalWindowPos(long long ptr ptr) NtUserSetInternalWindowPos
@ stdcall SetKeyboardState(ptr) NtUserSetKeyboardState
@ stdcall SetLastErrorEx(long long)
@@ -629,7 +669,10 @@
@ stdcall SetMessageExtraInfo(long)
@ stdcall SetMessageQueue(long)
@ stdcall SetParent(long long) NtUserSetParent
+@ stdcall -version=0x600+ SetProcessDPIAware()
@ stdcall SetProcessDefaultLayout(long)
+@ stdcall -version=0xA00+ SetProcessDpiAwarenessContext(long)
+@ stdcall -version=0xA00+ SetProcessDpiAwarenessInternal(long)
@ stdcall SetProcessWindowStation(long) NtUserSetProcessWindowStation
@ stdcall SetProgmanWindow (long)
@ stdcall SetPropA(long str long)
@@ -654,7 +697,9 @@
@ stdcall SetUserObjectInformationW(long long ptr long) NtUserSetObjectInformation
@ stdcall SetUserObjectSecurity(long ptr ptr)
@ stdcall SetWinEventHook(long long long ptr long long long)
+@ stdcall -version=0x601+ SetWindowCompositionAttribute(ptr ptr)
@ stdcall SetWindowContextHelpId(long long)
+@ stdcall -version=0x601+ SetWindowDisplayAffinity(long long)
@ stdcall SetWindowLongA(long long long)
@ stdcall -arch=x86_64,arm64 SetWindowLongPtrA(ptr long ptr)
@ stdcall -arch=x86_64,arm64 SetWindowLongPtrW(ptr long ptr)
@@ -677,6 +722,8 @@
@ stdcall ShowStartGlass(long)
@ stdcall ShowWindow(long long) NtUserShowWindow
@ stdcall ShowWindowAsync(long long) NtUserShowWindowAsync
+@ stdcall -version=0x600+ ShutdownBlockReasonCreate(long wstr)
+@ stdcall -version=0x600+ ShutdownBlockReasonDestroy(long)
@ stdcall SoftModalMessageBox(ptr)
@ stdcall SubtractRect(ptr ptr ptr)
@ stdcall SwapMouseButton(long)
@@ -713,6 +760,9 @@
@ stdcall UnregisterDeviceNotification(long)
@ stdcall UnregisterHotKey(long long) NtUserUnregisterHotKey
@ stdcall UnregisterMessagePumpHook()
+@ stdcall -version=0x601+ UnregisterTouchWindow(ptr)
+@ stdcall -version=0x600+ UnregisterPowerSettingNotification(ptr)
+@ stdcall -version=0x602+ UnregisterSuspendResumeNotification(ptr)
@ stdcall UnregisterUserApiHook() NtUserUnregisterUserApiHook
@ stdcall UpdateLayeredWindow(long long ptr ptr long ptr long ptr long)
@ stdcall UpdateLayeredWindowIndirect(long ptr)
diff --git a/win32ss/user/user32_vista/CMakeLists.txt
b/win32ss/user/user32_vista/CMakeLists.txt
index 4b05f471946..3ca127b29ef 100644
--- a/win32ss/user/user32_vista/CMakeLists.txt
+++ b/win32ss/user/user32_vista/CMakeLists.txt
@@ -5,11 +5,29 @@ include_directories(
include
${REACTOS_SOURCE_DIR}/win32ss/include)
+list(APPEND VISTA_SOURCE
+ wine/input.c
+ wine/misc.c
+ wine/sysparams.c
+ wine/win.c)
+
+
list(APPEND SOURCE
dpi.c)
+# These are just for Vista+ support
+add_library(user32_optional_vista
+ ${VISTA_SOURCE})
+target_link_libraries(user32_optional_vista wine win32ksys)
+add_dependencies(user32_optional_vista wine psdk)
+if(MSVC)
+ # Disable warning C4312: 'type cast': conversion from 'unsigned int'
to 'HANDLE' of greater size
+ target_compile_options(user32_optional_vista PRIVATE /wd4312)
+endif()
+
+# These are required for WINE imports
add_library(user32_vista_static
- ${SOURCE})
+ ${SOURCE})
target_link_libraries(user32_vista_static win32ksys)
add_dependencies(user32_vista_static psdk)
diff --git a/win32ss/user/user32_vista/dpi.c b/win32ss/user/user32_vista/dpi.c
index 08d73e4e4e5..5b5bd737ecf 100644
--- a/win32ss/user/user32_vista/dpi.c
+++ b/win32ss/user/user32_vista/dpi.c
@@ -12,6 +12,9 @@
#include <wingdi.h>
#include <winuser.h>
+HDC APIENTRY
+NtUserGetDC(HWND hWnd);
+
#define NDEBUG
#include <debug.h>
@@ -24,7 +27,7 @@ GetDpiForSystem(VOID)
{
HDC hDC;
UINT Dpi;
- hDC = GetDC(NULL);
+ hDC = NtUserGetDC(NULL);
Dpi = GetDeviceCaps(hDC, LOGPIXELSY);
ReleaseDC(NULL, hDC);
return Dpi;
@@ -42,3 +45,91 @@ GetDpiForWindow(
UNREFERENCED_PARAMETER(hWnd);
return GetDpiForSystem();
}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+IsProcessDPIAware(VOID)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+SetProcessDPIAware(VOID)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+SetProcessDpiAwarenessContext(
+ _In_ DPI_AWARENESS_CONTEXT context)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+GetProcessDpiAwarenessInternal(
+ _In_ HANDLE process,
+ _Out_ DPI_AWARENESS *awareness)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+SetProcessDpiAwarenessInternal(
+ _In_ DPI_AWARENESS awareness)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+GetDpiForMonitorInternal(
+ _In_ HMONITOR monitor,
+ _In_ UINT type,
+ _Out_ UINT *x,
+ _Out_ UINT *y)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
+/*
+ * @stub
+ */
+BOOL
+WINAPI
+LogicalToPhysicalPoint(
+ _In_ HWND hwnd,
+ _Inout_ POINT *point )
+{
+ UNIMPLEMENTED;
+ return TRUE;
+}
+
diff --git a/win32ss/user/user32_vista/wine/input.c
b/win32ss/user/user32_vista/wine/input.c
index 38c44d7d831..2d95c41ad1a 100644
--- a/win32ss/user/user32_vista/wine/input.c
+++ b/win32ss/user/user32_vista/wine/input.c
@@ -24,12 +24,141 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#ifdef __REACTOS__
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <windef.h>
+#include <wingdi.h>
+#include <winuser.h>
+#include <winbase.h>
+DECLARE_HANDLE(HSYNTHETICPOINTERDEVICE);
+typedef enum
+{
+ POINTER_FEEDBACK_DEFAULT = 1,
+ POINTER_FEEDBACK_INDIRECT = 2,
+ POINTER_FEEDBACK_NONE = 3,
+} POINTER_FEEDBACK_MODE;
+
+typedef enum ORIENTATION_PREFERENCE {
+ ORIENTATION_PREFERENCE_NONE = 0x0,
+ ORIENTATION_PREFERENCE_LANDSCAPE = 0x1,
+ ORIENTATION_PREFERENCE_PORTRAIT = 0x2,
+ ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4,
+ ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8
+} ORIENTATION_PREFERENCE;
+
+/* Touch input definitions */
+DECLARE_HANDLE(HTOUCHINPUT);
+
+
+typedef struct tagTOUCHINPUT {
+ LONG x;
+ LONG y;
+ HANDLE hSource;
+ DWORD dwID;
+ DWORD dwFlags;
+ DWORD dwMask;
+ DWORD dwTime;
+ ULONG_PTR dwExtraInfo;
+ DWORD cxContact;
+ DWORD cyContact;
+} TOUCHINPUT, *PTOUCHINPUT;
+typedef TOUCHINPUT const * PCTOUCHINPUT;
+
+DECLARE_HANDLE(HGESTUREINFO);
+
+#define GF_BEGIN 0x00000001
+#define GF_INERTIA 0x00000002
+#define GF_END 0x00000004
+
+typedef struct tagGESTURECONFIG {
+ DWORD dwID;
+ DWORD dwWant;
+ DWORD dwBlock;
+} GESTURECONFIG, *PGESTURECONFIG;
+
+typedef struct tagGESTUREINFO {
+ UINT cbSize;
+ DWORD dwFlags;
+ DWORD dwID;
+ HWND hwndTarget;
+ POINTS ptsLocation;
+ DWORD dwInstanceID;
+ DWORD dwSequenceID;
+ ULONGLONG ullArguments;
+ UINT cbExtraArgs;
+} GESTUREINFO, *PGESTUREINFO;
+typedef GESTUREINFO const * PCGESTUREINFO;
+
+typedef enum tagPOINTER_BUTTON_CHANGE_TYPE
+{
+ POINTER_CHANGE_NONE,
+ POINTER_CHANGE_FIRSTBUTTON_DOWN,
+ POINTER_CHANGE_FIRSTBUTTON_UP,
+ POINTER_CHANGE_SECONDBUTTON_DOWN,
+ POINTER_CHANGE_SECONDBUTTON_UP,
+ POINTER_CHANGE_THIRDBUTTON_DOWN,
+ POINTER_CHANGE_THIRDBUTTON_UP,
+ POINTER_CHANGE_FOURTHBUTTON_DOWN,
+ POINTER_CHANGE_FOURTHBUTTON_UP,
+ POINTER_CHANGE_FIFTHBUTTON_DOWN,
+ POINTER_CHANGE_FIFTHBUTTON_UP,
+} POINTER_BUTTON_CHANGE_TYPE;
+typedef PVOID HPOWERNOTIFY, *PHPOWERNOTIFY;
+typedef UINT32 POINTER_FLAGS;
+typedef DWORD POINTER_INPUT_TYPE;
+typedef struct tagPOINTER_INFO
+{
+ POINTER_INPUT_TYPE pointerType;
+ UINT32 pointerId;
+ UINT32 frameId;
+ POINTER_FLAGS pointerFlags;
+ HANDLE sourceDevice;
+ HWND hwndTarget;
+ POINT ptPixelLocation;
+ POINT ptHimetricLocation;
+ POINT ptPixelLocationRaw;
+ POINT ptHimetricLocationRaw;
+ DWORD dwTime;
+ UINT32 historyCount;
+ INT32 InputData;
+ DWORD dwKeyStates;
+ UINT64 PerformanceCount;
+ POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
+} POINTER_INFO;
+
+typedef UINT32 TOUCH_FLAGS;
+#define TOUCH_FLAG_NONE 0x00000000
+
+typedef UINT32 TOUCH_MASK;
+#define TOUCH_MASK_NONE 0x00000000
+#define TOUCH_MASK_CONTACTAREA 0x00000001
+#define TOUCH_MASK_ORIENTATION 0x00000002
+#define TOUCH_MASK_PRESSURE 0x00000004
+
+typedef struct tagPOINTER_TOUCH_INFO
+{
+ POINTER_INFO pointerInfo;
+ TOUCH_FLAGS touchFlags;
+ TOUCH_MASK touchMask;
+ RECT rcContact;
+ RECT rcContactRaw;
+ UINT32 orientation;
+ UINT32 pressure;
+} POINTER_TOUCH_INFO;
+
+#else
#include "user_private.h"
#include "dbt.h"
+#endif
#include "wine/debug.h"
+#ifndef __REACTOS__
#include "wine/plugplay.h"
+#endif
WINE_DEFAULT_DEBUG_CHANNEL(win);
+#ifndef __REACTOS__
WINE_DECLARE_DEBUG_CHANNEL(keyboard);
/***********************************************************************
@@ -681,6 +810,7 @@ LRESULT WINAPI DefRawInputProc( RAWINPUT **data, INT data_count, UINT
header_siz
return header_size == sizeof(RAWINPUTHEADER) ? 0 : -1;
}
+#endif
/*****************************************************************************
* CloseTouchInputHandle (USER32.@)
@@ -797,7 +927,7 @@ BOOL WINAPI GetPointerTouchInfoHistory( UINT32 id, UINT32 *count,
POINTER_TOUCH_
return FALSE;
}
-
+#ifndef __REACTOS__
/*******************************************************************
* SetForegroundWindow (USER32.@)
*/
@@ -880,6 +1010,7 @@ HWND WINAPI GetTaskmanWindow(void)
{
return NtUserGetTaskmanWindow();
}
+#endif
HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE type,
ULONG max_count, POINTER_FEEDBACK_MODE mode)
{
diff --git a/win32ss/user/user32_vista/wine/misc.c b/win32ss/user/user32_vista/wine/misc.c
index 6333fcb48b4..0500682133f 100644
--- a/win32ss/user/user32_vista/wine/misc.c
+++ b/win32ss/user/user32_vista/wine/misc.c
@@ -23,6 +23,98 @@
#include <stdarg.h>
+#ifdef __REACTOS__
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <windef.h>
+#include <wingdi.h>
+#include <winuser.h>
+#include <winbase.h>
+
+#define POINTER_DEVICE_PRODUCT_STRING_MAX 520
+
+enum tagPOINTER_INPUT_TYPE {
+ PT_POINTER = 1,
+ PT_TOUCH,
+ PT_PEN,
+ PT_MOUSE,
+ PT_TOUCHPAD
+};
+
+typedef PVOID HPOWERNOTIFY, *PHPOWERNOTIFY;
+typedef UINT32 POINTER_FLAGS;
+typedef DWORD POINTER_INPUT_TYPE;
+
+typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION
+{
+ UINT16 score;
+ POINT adjustedPoint;
+} TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, *PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION;
+
+typedef struct tagTOUCH_HIT_TESTING_INPUT
+{
+ UINT32 pointerId;
+ POINT point;
+ RECT boundingBox;
+ RECT nonOccludedBoundingBox;
+ UINT32 orientation;
+} TOUCH_HIT_TESTING_INPUT, *PTOUCH_HIT_TESTING_INPUT;
+
+typedef enum tagPOINTER_DEVICE_TYPE {
+ POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001,
+ POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002,
+ POINTER_DEVICE_TYPE_TOUCH = 0x00000003,
+ POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004,
+ POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF
+} POINTER_DEVICE_TYPE;
+
+typedef struct tagPOINTER_DEVICE_INFO {
+ DWORD displayOrientation;
+ HANDLE device;
+ POINTER_DEVICE_TYPE pointerDeviceType;
+ HMONITOR monitor;
+ ULONG startingCursorId;
+ USHORT maxActiveContacts;
+ WCHAR productString[POINTER_DEVICE_PRODUCT_STRING_MAX];
+} POINTER_DEVICE_INFO;
+
+
+typedef enum tagPOINTER_BUTTON_CHANGE_TYPE {
+ POINTER_CHANGE_NONE,
+ POINTER_CHANGE_FIRSTBUTTON_DOWN,
+ POINTER_CHANGE_FIRSTBUTTON_UP,
+ POINTER_CHANGE_SECONDBUTTON_DOWN,
+ POINTER_CHANGE_SECONDBUTTON_UP,
+ POINTER_CHANGE_THIRDBUTTON_DOWN,
+ POINTER_CHANGE_THIRDBUTTON_UP,
+ POINTER_CHANGE_FOURTHBUTTON_DOWN,
+ POINTER_CHANGE_FOURTHBUTTON_UP,
+ POINTER_CHANGE_FIFTHBUTTON_DOWN,
+ POINTER_CHANGE_FIFTHBUTTON_UP,
+} POINTER_BUTTON_CHANGE_TYPE;
+
+typedef struct tagPOINTER_INFO {
+ POINTER_INPUT_TYPE pointerType;
+ UINT32 pointerId;
+ UINT32 frameId;
+ POINTER_FLAGS pointerFlags;
+ HANDLE sourceDevice;
+ HWND hwndTarget;
+ POINT ptPixelLocation;
+ POINT ptHimetricLocation;
+ POINT ptPixelLocationRaw;
+ POINT ptHimetricLocationRaw;
+ DWORD dwTime;
+ UINT32 historyCount;
+ INT32 InputData;
+ DWORD dwKeyStates;
+ UINT64 PerformanceCount;
+ POINTER_BUTTON_CHANGE_TYPE ButtonChangeType;
+} POINTER_INFO;
+
+
+#else
#include "windef.h"
#include "wine/windef16.h"
#include "winbase.h"
@@ -30,11 +122,13 @@
#include "controls.h"
#include "imm.h"
#include "user_private.h"
-
+#endif
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(win);
+#ifndef __REACTOS__
+
BOOL WINAPI ImmSetActiveContext(HWND, HIMC, BOOL);
#define IMM_INIT_MAGIC 0x19650412
@@ -403,6 +497,7 @@ BOOL WINAPI UserHandleGrantAccess(HANDLE handle, HANDLE job, BOOL
grant)
FIXME("(%p,%p,%d): stub\n", handle, job, grant);
return TRUE;
}
+#endif
/**********************************************************************
* RegisterPowerSettingNotification [USER32.@]
@@ -532,6 +627,7 @@ BOOL WINAPI GetPointerInfo(UINT32 id, POINTER_INFO *info)
return FALSE;
}
+#ifndef __REACTOS__
LRESULT WINAPI ImeWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
if (!imm_ime_wnd_proc) return DefWindowProcA(hwnd, msg, wParam, lParam);
@@ -543,3 +639,52 @@ LRESULT WINAPI ImeWndProcW( HWND hwnd, UINT msg, WPARAM wParam,
LPARAM lParam )
if (!imm_ime_wnd_proc) return DefWindowProcW(hwnd, msg, wParam, lParam);
return imm_ime_wnd_proc( hwnd, msg, wParam, lParam, FALSE );
}
+#endif
+
+#ifdef __REACTOS__
+//wine/message.c stubs
+typedef struct tagCHANGEFILTERSTRUCT {
+ DWORD cbSize;
+ DWORD ExtStatus;
+} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;
+
+/******************************************************************
+ * ChangeWindowMessageFilter (USER32.@)
+ */
+BOOL WINAPI ChangeWindowMessageFilter( UINT message, DWORD flag )
+{
+ FIXME( "%x %08lx\n", message, flag );
+ return TRUE;
+}
+
+/******************************************************************
+ * ChangeWindowMessageFilterEx (USER32.@)
+ */
+BOOL WINAPI ChangeWindowMessageFilterEx( HWND hwnd, UINT message, DWORD action,
CHANGEFILTERSTRUCT *changefilter )
+{
+ FIXME( "%p %x %ld %p\n", hwnd, message, action, changefilter );
+ return TRUE;
+}
+
+//wine/user_main.c
+/***********************************************************************
+ * ShutdownBlockReasonDestroy (USER32.@)
+ */
+
+BOOL WINAPI ShutdownBlockReasonDestroy(HWND hwnd)
+{
+ FIXME("(%p): stub\n", hwnd);
+ SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
+ return FALSE;
+}
+
+/***********************************************************************
+ * ShutdownBlockReasonCreate (USER32.@)
+ */
+BOOL WINAPI ShutdownBlockReasonCreate(HWND hwnd, LPCWSTR reason)
+{
+ FIXME("(%p, %s): stub\n", hwnd, debugstr_w(reason));
+ SetLastError( ERROR_CALL_NOT_IMPLEMENTED );
+ return FALSE;
+}
+#endif
diff --git a/win32ss/user/user32_vista/wine/sysparams.c
b/win32ss/user/user32_vista/wine/sysparams.c
new file mode 100644
index 00000000000..20c34f6d5e1
--- /dev/null
+++ b/win32ss/user/user32_vista/wine/sysparams.c
@@ -0,0 +1,291 @@
+
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <windef.h>
+#include <wingdi.h>
+#include <winuser.h>
+#include <winbase.h>
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(win);
+
+typedef enum DISPLAYCONFIG_TOPOLOGY_ID
+{
+ DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001,
+ DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002,
+ DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004,
+ DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008,
+ DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_TOPOLOGY_ID;
+
+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_GET_ADVANCED_COLOR_INFO = 9,
+ DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10,
+ DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11,
+ DISPLAYCONFIG_DEVICE_INFO_GET_MONITOR_SPECIALIZATION = 12,
+ DISPLAYCONFIG_DEVICE_INFO_SET_MONITOR_SPECIALIZATION = 13,
+ DISPLAYCONFIG_DEVICE_INFO_SET_RESERVED1 = 14,
+ DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO_2 = 15,
+ DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE = 16,
+ DISPLAYCONFIG_DEVICE_INFO_SET_WCG_STATE = 17,
+ 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 DISPLAYCONFIG_DESKTOP_IMAGE_INFO {
+ POINTL PathSourceSize;
+ RECTL DesktopImageRegion;
+ RECTL DesktopImageClip;
+} DISPLAYCONFIG_DESKTOP_IMAGE_INFO;
+
+typedef enum {
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = 17,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_USB_TUNNEL,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000,
+ DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY;
+
+typedef enum {
+ DISPLAYCONFIG_ROTATION_IDENTITY = 1,
+ DISPLAYCONFIG_ROTATION_ROTATE90 = 2,
+ DISPLAYCONFIG_ROTATION_ROTATE180 = 3,
+ DISPLAYCONFIG_ROTATION_ROTATE270 = 4,
+ DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_ROTATION;
+
+typedef enum {
+ DISPLAYCONFIG_SCALING_IDENTITY = 1,
+ DISPLAYCONFIG_SCALING_CENTERED = 2,
+ DISPLAYCONFIG_SCALING_STRETCHED = 3,
+ DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4,
+ DISPLAYCONFIG_SCALING_CUSTOM = 5,
+ DISPLAYCONFIG_SCALING_PREFERRED = 128,
+ DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_SCALING;
+
+typedef struct DISPLAYCONFIG_RATIONAL {
+ UINT32 Numerator;
+ UINT32 Denominator;
+} DISPLAYCONFIG_RATIONAL;
+
+typedef enum {
+ DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0,
+ DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1,
+ DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2,
+ DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST,
+ DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3,
+ DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_SCANLINE_ORDERING;
+
+typedef struct DISPLAYCONFIG_PATH_TARGET_INFO {
+ LUID adapterId;
+ UINT32 id;
+ union {
+ UINT32 modeInfoIdx;
+ struct {
+ UINT32 desktopModeInfoIdx : 16;
+ UINT32 targetModeInfoIdx : 16;
+ } DUMMYSTRUCTNAME;
+ } DUMMYUNIONNAME;
+ DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology;
+ DISPLAYCONFIG_ROTATION rotation;
+ DISPLAYCONFIG_SCALING scaling;
+ DISPLAYCONFIG_RATIONAL refreshRate;
+ DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
+ BOOL targetAvailable;
+ UINT32 statusFlags;
+} DISPLAYCONFIG_PATH_TARGET_INFO;
+
+typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO {
+ LUID adapterId;
+ UINT32 id;
+ union {
+ UINT32 modeInfoIdx;
+ struct {
+ UINT32 cloneGroupId : 16;
+ UINT32 sourceModeInfoIdx : 16;
+ } DUMMYSTRUCTNAME;
+ } DUMMYUNIONNAME;
+ UINT32 statusFlags;
+} DISPLAYCONFIG_PATH_SOURCE_INFO;
+
+typedef struct DISPLAYCONFIG_PATH_INFO {
+ DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo;
+ DISPLAYCONFIG_PATH_TARGET_INFO targetInfo;
+ UINT32 flags;
+} DISPLAYCONFIG_PATH_INFO;
+
+typedef enum {
+ DISPLAYCONFIG_PIXELFORMAT_8BPP = 1,
+ DISPLAYCONFIG_PIXELFORMAT_16BPP = 2,
+ DISPLAYCONFIG_PIXELFORMAT_24BPP = 3,
+ DISPLAYCONFIG_PIXELFORMAT_32BPP = 4,
+ DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5,
+ DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff
+} DISPLAYCONFIG_PIXELFORMAT;
+
+typedef struct DISPLAYCONFIG_SOURCE_MODE
+{
+ UINT32 width;
+ UINT32 height;
+ DISPLAYCONFIG_PIXELFORMAT pixelFormat;
+ POINTL position;
+} DISPLAYCONFIG_SOURCE_MODE;
+typedef struct DISPLAYCONFIG_2DREGION {
+ UINT32 cx;
+ UINT32 cy;
+} DISPLAYCONFIG_2DREGION;
+
+typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO {
+ UINT64 pixelRate;
+ DISPLAYCONFIG_RATIONAL hSyncFreq;
+ DISPLAYCONFIG_RATIONAL vSyncFreq;
+ DISPLAYCONFIG_2DREGION activeSize;
+ DISPLAYCONFIG_2DREGION totalSize;
+ union {
+ struct {
+ UINT32 videoStandard : 16;
+ UINT32 vSyncFreqDivider : 6;
+ UINT32 reserved : 10;
+ } AdditionalSignalInfo;
+ UINT32 videoStandard;
+ } DUMMYUNIONNAME;
+ DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering;
+} DISPLAYCONFIG_VIDEO_SIGNAL_INFO;
+typedef struct DISPLAYCONFIG_TARGET_MODE
+{
+ DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo;
+} DISPLAYCONFIG_TARGET_MODE;
+typedef enum {
+ DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1,
+ DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2,
+ DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3,
+ DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF
+} DISPLAYCONFIG_MODE_INFO_TYPE;
+typedef struct DISPLAYCONFIG_MODE_INFO {
+ DISPLAYCONFIG_MODE_INFO_TYPE infoType;
+ UINT32 id;
+ LUID adapterId;
+ union {
+ DISPLAYCONFIG_TARGET_MODE targetMode;
+ DISPLAYCONFIG_SOURCE_MODE sourceMode;
+ DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo;
+ } DUMMYUNIONNAME;
+} DISPLAYCONFIG_MODE_INFO;
+
+
+LONG
+WINAPI
+GetDisplayConfigBufferSizes(
+ UINT32 flags,
+ UINT32 *numPathArrayElements,
+ UINT32 *numModeInfoArrayElements)
+{
+ *numPathArrayElements = 0;
+ *numModeInfoArrayElements = 0;
+ return 0;
+}
+
+LONG
+WINAPI
+QueryDisplayConfig(
+ UINT32 flags,
+ UINT32 *numPathArrayElements,
+ DISPLAYCONFIG_PATH_INFO *pathArray,
+ UINT32 *numModeInfoArrayElements,
+ DISPLAYCONFIG_MODE_INFO *modeInfoArray,
+ DISPLAYCONFIG_TOPOLOGY_ID *currentTopologyId)
+{
+ return ERROR_ACCESS_DENIED;
+}
+
+typedef enum ORIENTATION_PREFERENCE {
+ ORIENTATION_PREFERENCE_NONE = 0x0,
+ ORIENTATION_PREFERENCE_LANDSCAPE = 0x1,
+ ORIENTATION_PREFERENCE_PORTRAIT = 0x2,
+ ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4,
+ ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8
+} ORIENTATION_PREFERENCE;
+
+/***********************************************************************
+ * DisplayConfigGetDeviceInfo (USER32.@)
+ */
+LONG WINAPI DisplayConfigGetDeviceInfo(DISPLAYCONFIG_DEVICE_INFO_HEADER *packet)
+{
+ FIXME( "DisplayConfigGetDeviceInfo: stub!\n" );
+ return 1;
+}
+
+/***********************************************************************
+ * DisplayConfigSetDeviceInfo (USER32.@)
+ */
+LONG WINAPI DisplayConfigSetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_HEADER *packet )
+{
+ FIXME( "DisplayConfigSetDeviceInfo: stub!\n" );
+ return 1;
+}
+
+/**********************************************************************
+ * GetDisplayAutoRotationPreferences (USER32.@)
+ */
+BOOL WINAPI GetDisplayAutoRotationPreferences( ORIENTATION_PREFERENCE *orientation )
+{
+ FIXME("(%p): stub\n", orientation);
+ *orientation = ORIENTATION_PREFERENCE_NONE;
+ return TRUE;
+}
+
+/***********************************************************************
+ * SetDisplayConfig (USER32.@)
+ */
+LONG WINAPI SetDisplayConfig(UINT32 path_info_count, DISPLAYCONFIG_PATH_INFO *path_info,
UINT32 mode_info_count,
+ DISPLAYCONFIG_MODE_INFO *mode_info, UINT32 flags)
+{
+ FIXME("path_info_count %u, path_info %p, mode_info_count %u, mode_info %p, flags
%#x stub.\n",
+ path_info_count, path_info, mode_info_count, mode_info, flags);
+
+ return ERROR_SUCCESS;
+}
+
+/**********************************************************************
+ * SetDisplayAutoRotationPreferences (USER32.@)
+ */
+BOOL WINAPI SetDisplayAutoRotationPreferences( ORIENTATION_PREFERENCE orientation )
+{
+ FIXME("(%d): stub\n", orientation);
+ return TRUE;
+}
diff --git a/win32ss/user/user32_vista/wine/win.c b/win32ss/user/user32_vista/wine/win.c
index 99f681a3f9c..1ce81abec91 100644
--- a/win32ss/user/user32_vista/wine/win.c
+++ b/win32ss/user/user32_vista/wine/win.c
@@ -18,18 +18,28 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#ifdef __REACTOS__
+#define WIN32_NO_STATUS
+#define _INC_WINDOWS
+#define COM_NO_WINDOWS_H
+#include <windef.h>
+#include <wingdi.h>
+#include <winuser.h>
+#include <winbase.h>
+#else
#include "ntstatus.h"
#define WIN32_NO_STATUS
#include "user_private.h"
#include "controls.h"
#include "winver.h"
#include "wine/asm.h"
+#endif
#include "wine/exception.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(win);
-
+#ifndef __REACTOS__
#ifdef __i386__
/* Some apps pass a non-stdcall proc to EnumChildWindows,
* so we need a small assembly wrapper to call the proc.
@@ -1686,6 +1696,8 @@ LONG_PTR WINAPI SetWindowLongPtrA( HWND hwnd, INT offset, LONG_PTR
newval )
#endif /* _WIN64 */
+#endif
+
/*****************************************************************************
* GetWindowDisplayAffinity (USER32.@)
*/