Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:45:16 +0000 (20:45 +0200)]
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in .

for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.

15 months ago[WIN32K:NTUSER] NtUserCloseDesktop(): Use ObCloseHandle instead.
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:38:46 +0000 (20:38 +0200)]
[WIN32K:NTUSER] NtUserCloseDesktop(): Use ObCloseHandle instead.

15 months ago[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more...
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:38:26 +0000 (20:38 +0200)]
[WIN32K:NTUSER] Make NtUserResolveDesktop() and IntResolveDesktop() work in a more Win2k3-compatible manner.
CORE-11933 and PR #621.

Since this API is also called from WINSRV when calling the AllocConsole() API,
it can be tested more-or-less easily. The internal helper IntResolveDesktop()
is also tested during process connection to a window station, when such process
first calls a USER32 or GDI32 function.
This is also the functionality tested by the user32:desktop apitest.

- Adjust how IntResolveDesktop() is called.

15 months ago[WIN32K:NTUSER] Code style fixes only.
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:32:12 +0000 (20:32 +0200)]
[WIN32K:NTUSER] Code style fixes only.

15 months ago[WIN32K:NTUSER] Rename some variables with more natural names.
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:30:05 +0000 (20:30 +0200)]
[WIN32K:NTUSER] Rename some variables with more natural names.

15 months ago[WIN32K:NTUSER] Split NtUserCreateDesktop() into the part that captures the user...
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:27:33 +0000 (20:27 +0200)]
[WIN32K:NTUSER] Split NtUserCreateDesktop() into the part that captures the user-mode data and the internal worker IntCreateDesktop() function, which will also be used later.

15 months ago[WIN32K:NTUSER] Fixes for NtUserCreateWindowStation(), IntCreateWindowStation() and...
Hermès Bélusca-Maïto [Sun, 22 Jul 2018 18:22:49 +0000 (20:22 +0200)]
[WIN32K:NTUSER] Fixes for NtUserCreateWindowStation(), IntCreateWindowStation() and NtUserOpenWindowStation().
CORE-11933 and PR #621.

We are potentially going to modify the window station name to be
created or opened, by one with the format "Service-0x<luidhigh>-<luidlow>$",
in case the user provides an empty name.
Since we want to use the user-mode ObjectAttributes structure pointer so
that the Object manager can correctly perform the access checks and the
capture, we actually need to construct the new window station name in the
user memory space! This allows us then to fetch the new name in the
ObjectAttributes structure so that Ob can use it.
All of this is performed under SEH.

For NtUserOpenWindowStation(), we also need to be Windows-compatible and
detect whether user-mode gave instead the special "Service-0x00000000-00000000$"
name (observed via API monitoring) that is used when one tries to open a
window station with empty name.

15 months ago[WIN32K:NTUSER] Similarly to what was done in USERSRV for harderrors, introduce the...
Hermès Bélusca-Maïto [Mon, 16 Jul 2018 23:47:59 +0000 (01:47 +0200)]
[WIN32K:NTUSER] Similarly to what was done in USERSRV for harderrors, introduce the _scwprintf() helper function based on the imported _vscwprintf().

15 months ago[WIN32K:NTUSER] Get rid of the cached window station Name member, and instead just...
Hermès Bélusca-Maïto [Sun, 17 Jun 2018 17:40:32 +0000 (19:40 +0200)]
[WIN32K:NTUSER] Get rid of the cached window station Name member, and instead just use the name stored in the NT Object's header.
CORE-11933 and PR #621.

- Remove the related hack-FIXMEs;
- Adjust NtUserGetObjectInformation() in accordance.
- Retrieve the window-station/desktop object type string in NtUserGetObjectInformation()
  also from the NT Object's header.

Also simplify the UOI_FLAGS case of NtUserGetObjectInformation() by reading
the handle inheritance information directly from the OBJECT_HANDLE_INFORMATION
structure returned by ObReferenceObjectByHandle().

15 months ago[WIN32K:NTUSER] Detect when the NtUserCreateWindowStation() caller has provided an...
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:45:20 +0000 (19:45 +0200)]
[WIN32K:NTUSER] Detect when the NtUserCreateWindowStation() caller has provided an empty window station name, and if so, generate a name in the format: "Service-0x<luidhigh>-<luidlow>$" .

CORE-11933 and PR #621.

15 months ago[WIN32K:NTUSER] Split NtUserCreateWindowStation() into the part that captures the...
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:45:07 +0000 (19:45 +0200)]
[WIN32K:NTUSER] Split NtUserCreateWindowStation() into the part that captures the user-mode data and the internal worker IntCreateWindowStation() function, which will also be used later.

Add a FIXME note about how we currently handle the window station name.

15 months ago[WIN32K:NTUSER] In UserCreateWinstaDirectory(), use a string-safe printf, and use...
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:44:56 +0000 (19:44 +0200)]
[WIN32K:NTUSER] In UserCreateWinstaDirectory(), use a string-safe printf, and use OBJ_KERNEL_HANDLE as well as a suitable desired access value in a ZwCreateDirectoryObject() call.

15 months ago[WIN32K:NTUSER] Add an extra optional "Process" parameter to the GetProcessLuid(...
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:44:27 +0000 (19:44 +0200)]
[WIN32K:NTUSER] Add an extra optional "Process" parameter to the GetProcessLuid() function to be used alternatively in place of "Thread" to retrieve the LUID.

15 months ago[WIN32K:NTUSER] Move the GetProcessLuid() function to the miscellaneous module.
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:44:15 +0000 (19:44 +0200)]
[WIN32K:NTUSER] Move the GetProcessLuid() function to the miscellaneous module.

15 months ago[USER32] Implement the special case in CreateWindowStationW() that, when no window...
Hermès Bélusca-Maïto [Sat, 16 Jun 2018 17:43:59 +0000 (19:43 +0200)]
[USER32] Implement the special case in CreateWindowStationW() that, when no window station name is provided (either NULL or empty string), does not open any WindowStation directory handle to be passed to the Win32k function.

Observed via API monitoring.
This corresponds to the case where Win32k creates a window station whose name is based on the logon session identifier for the calling process.

Add also a note about the fact that we need to use a per-session-based WindowStation directory name, as done already in Win32k.

CORE-11933 and PR #621.

15 months agoCORE-14513 [CMAKE] Remove modules that are shipped with cmake (#575)
Andrew Cook [Sun, 19 Aug 2018 20:01:31 +0000 (06:01 +1000)]
CORE-14513 [CMAKE] Remove modules that are shipped with cmake (#575)

* Remove unused cmake modules - Both are unedited versions of modules provided by cmake itself
* Remove Compiler/GNU.cmake - Only chang was various _INIT flags, which are handled
* Remove Platform/Windows.cmake - There's no clear explination for this file being in reactos
and is simply an old version of the one in cmake
* Remove Platform/Windows-MSVC.cmake - _INIT variable changes moved to overrides-msvc.cmake
Remove /implib from link commands
* Remove CMakeDetermineASMCompiler.cmake - Only change from 3.2 is the addition of a compiler list for the generic ASM dialect, but toolchain files explicitly set a compiler so the list is never used

15 months ago[OSK] Some enhancements for locales IT and RO (#416)
Bișoc George [Sun, 19 Aug 2018 19:42:57 +0000 (21:42 +0200)]
[OSK] Some enhancements for locales IT and RO (#416)

* Window element improvements for Italian and Romanian

15 months ago[OSK] Rearrange window elements for ru-RU and en-US locales (#412)
Petr Akhlamov [Sun, 19 Aug 2018 19:40:58 +0000 (22:40 +0300)]
[OSK] Rearrange window elements for ru-RU and en-US locales (#412)

* Resize osk window at RU and EN(US) languages

15 months ago[NETSHELL] Update French translation to reflect 0725098
Pierre Schweitzer [Sun, 19 Aug 2018 18:50:55 +0000 (20:50 +0200)]
[NETSHELL] Update French translation to reflect 0725098

15 months ago[NTOS:EX] Implement SystemFirmwareTableInformation class
Stanislav Motylkov [Sun, 5 Aug 2018 13:39:51 +0000 (16:39 +0300)]
[NTOS:EX] Implement SystemFirmwareTableInformation class

15 months ago[KERNEL32] Implement system firmware functions properly
Stanislav Motylkov [Sun, 5 Aug 2018 08:48:25 +0000 (11:48 +0300)]
[KERNEL32] Implement system firmware functions properly

15 months ago[KERNEL32_APITEST] Add SystemFirmwareTableInformation tests
Stanislav Motylkov [Sun, 5 Aug 2018 08:38:20 +0000 (11:38 +0300)]
[KERNEL32_APITEST] Add SystemFirmwareTableInformation tests

Thanks goes to Mark Jansen for help!

15 months ago[APPVEYOR] Add 'BuildType: vssolution'
Serge Gautherie [Thu, 24 May 2018 20:00:01 +0000 (22:00 +0200)]
[APPVEYOR] Add 'BuildType: vssolution'

Disabled by default, though ready to be enabled.

15 months ago[UPDATES] New stubs for Automatic Updates service and WUSA.exe. Presence of this...
Denis Malikov [Fri, 2 Feb 2018 22:03:17 +0000 (05:03 +0700)]
[UPDATES] New stubs for Automatic Updates service and WUSA.exe. Presence of this modules required for installation by some NT6+ applications.

15 months ago[SDK][Translation] Polish translation update (#495)
Paweł Cholewa [Sun, 19 Aug 2018 17:47:26 +0000 (19:47 +0200)]
[SDK][Translation] Polish translation update (#495)

* Polish translation update in

15 months ago[LOG2LINES] Enforce "Iso" type when unpacking the Iso file
Serge Gautherie [Sat, 23 Jun 2018 22:57:57 +0000 (00:57 +0200)]
[LOG2LINES] Enforce "Iso" type when unpacking the Iso file

Work around some "7z" dealing with files not named "*.iso" as "Cab" type.
Issue at least with "7-Zip [64]  9.20" on "Ubuntu 16.04".


15 months ago[ATL_APITEST] Add test for CComQIPtr (or rather, our gcc hack that slightly looks...
Mark Jansen [Sun, 5 Aug 2018 09:50:02 +0000 (11:50 +0200)]
[ATL_APITEST] Add test for CComQIPtr (or rather, our gcc hack that slightly looks like it)

15 months ago[ATL] Improve the order of operations in CComPtr and CComQIIDPtr
Mark Jansen [Sun, 5 Aug 2018 09:48:31 +0000 (11:48 +0200)]
[ATL] Improve the order of operations in CComPtr and CComQIIDPtr

15 months ago[WSHOM.OCX] Zero-initialize timeout and type if they are not set.
EUPHORIA-IT\m.jansen [Sun, 19 Aug 2018 14:13:55 +0000 (16:13 +0200)]
[WSHOM.OCX] Zero-initialize timeout and type if they are not set.
This should fix buildbot timeouts

15 months ago[SYSSETUP] SetupStartService: Remove the wait loop
Eric Kohl [Sun, 19 Aug 2018 12:31:43 +0000 (14:31 +0200)]
[SYSSETUP] SetupStartService: Remove the wait loop


15 months ago[NTDLL][NTUSER] Fix unselected text after WM_CBLOSTTEXTFOCUS
Manuel Bachmann [Thu, 2 Nov 2017 01:06:50 +0000 (02:06 +0100)]
[NTDLL][NTUSER] Fix unselected text after WM_CBLOSTTEXTFOCUS

When we unselect text after the WM_CBLOSTTEXTFOCUS message,
make sure we also forget we have been focused at all;
otherwise the edit may become focused again, but with an
empty text selection.


15 months ago[WINED3D] Yield CPU to the scheduler in wined3d_pause. CORE-14637 CORE-14534
Thomas Faber [Sun, 19 Aug 2018 11:28:06 +0000 (13:28 +0200)]
[WINED3D] Yield CPU to the scheduler in wined3d_pause. CORE-14637 CORE-14534

Much like the previous commit, this is a workaround for our buggy Win32k.

15 months ago[WINED3D] Avoid spinning in wined3d_cs_run. CORE-14534
Thomas Faber [Sun, 19 Aug 2018 11:27:04 +0000 (13:27 +0200)]
[WINED3D] Avoid spinning in wined3d_cs_run. CORE-14534

Spinning here is supposed to improve performance by avoiding scheduling
overhead, but because ReactOS's Win32 subsystem does not deal with this well,
it causes the system to freeze on ROS.
As a workaround, we disable spinning and jump directly to the wait.

It should become obvious when this starts actually causing performance issues
again and it's time to undo.

15 months ago[USER32] Log the text of message boxes to help figure out some test bot timeouts.
Thomas Faber [Sun, 19 Aug 2018 10:02:17 +0000 (12:02 +0200)]
[USER32] Log the text of message boxes to help figure out some test bot timeouts.

15 months ago[CDROM] Set proper status on disk verify
Pierre Schweitzer [Sun, 19 Aug 2018 09:11:21 +0000 (11:11 +0200)]
[CDROM] Set proper status on disk verify

This avoids an assert under certain conditions in CDFS.
Check cdrom_new for reference.


15 months ago[FASTFAT] Don't delay any other close once shutdown has started
Pierre Schweitzer [Sun, 19 Aug 2018 07:55:38 +0000 (09:55 +0200)]
[FASTFAT] Don't delay any other close once shutdown has started

15 months ago[FASTFAT] Magic values--
Pierre Schweitzer [Sun, 19 Aug 2018 07:55:03 +0000 (09:55 +0200)]
[FASTFAT] Magic values--

15 months ago[SCHEDSVC] Add stubs for the wlnotify control codes
Eric Kohl [Sat, 18 Aug 2018 20:23:22 +0000 (22:23 +0200)]
[SCHEDSVC] Add stubs for the wlnotify control codes

15 months ago[WLNOTIFY] Use the wine debug method, add wlnotify to the build and fix some typos
Eric Kohl [Sat, 18 Aug 2018 20:19:14 +0000 (22:19 +0200)]
[WLNOTIFY] Use the wine debug method, add wlnotify to the build and fix some typos

15 months ago[FASTFAT] Don't leak statistics on dismount
Pierre Schweitzer [Sat, 18 Aug 2018 17:03:03 +0000 (19:03 +0200)]
[FASTFAT] Don't leak statistics on dismount

15 months ago[FASTFAT] Reduce the usage of the generic allocation tag
Pierre Schweitzer [Sat, 18 Aug 2018 17:00:42 +0000 (19:00 +0200)]
[FASTFAT] Reduce the usage of the generic allocation tag

And use tag compatible with MS FastFAT, to use debug with WinDBG

15 months ago[FASTFAT] Implement delayed close
Pierre Schweitzer [Sat, 18 Aug 2018 15:04:02 +0000 (17:04 +0200)]
[FASTFAT] Implement delayed close

When we're about to close a file (ie, forget everything about it
and release any associated structure), actually delay it.
This allows keep data fresh in memory for faster reuse in case
it would be required. The effective closing will only happen after some time.

For specific operations, this will produce a real speed up in ReactOS.
For instance, with that patch, Winamp starts within seconds, instead of dozen
of minutes.
In most cases, it will bring ReactOS to performances it had before fixing
the huge leak in FastFAT (commit 94ead99) without leaking the whole FS.

For now, due to regressions, this is only activated for files and not
for directories. Once it gets fixed, it will be enabled for both.


15 months ago[CLIPBRD] Clipbrd program should accept the quoted file path (#638)
Katayama Hirofumi MZ [Sat, 18 Aug 2018 16:36:47 +0000 (01:36 +0900)]
[CLIPBRD] Clipbrd program should accept the quoted file path (#638)

15 months ago[GDIPLUS] Add sxs registration for 1.0 version. 768/head
Mark Jansen [Sat, 18 Aug 2018 08:29:01 +0000 (10:29 +0200)]
[GDIPLUS] Add sxs registration for 1.0 version.
Needed by by some applications with MSVCR90.dll

15 months ago[FREELDR] Don't insert a driver into the BootDriver list twice (#755)
Timo Kreuzer [Sat, 18 Aug 2018 14:41:30 +0000 (16:41 +0200)]
[FREELDR] Don't insert a driver into the BootDriver list twice (#755)

This happened for the livecd, where the cdfs driver was inserted twice - once since it is the driver for the boot device, and the 2nd time, because it was specified in the registry - which was then initialized twice by the kernel, leading to a name conflict when trying to create another device object, which resulted in the newly created device object to be dereferenced again and the driver unloaded. This can be seen from the debug message "(ntoskrnl\mm\ARM3\sysldr.c:955) Leaking driver: cdfs.sys"

15 months ago[WLNOTIFY] Add SCard, Termsrv and Wlballon notifications and remove the test notifica...
Eric Kohl [Sat, 18 Aug 2018 14:14:09 +0000 (16:14 +0200)]
[WLNOTIFY] Add SCard, Termsrv and Wlballon notifications and remove the test notifications

15 months ago[NETSHELL] Fix the too long texts
Katayama Hirofumi MZ [Sat, 18 Aug 2018 02:11:31 +0000 (11:11 +0900)]
[NETSHELL] Fix the too long texts

15 months ago[FREELDR] Fix calculation of page lookup table (#761)
Timo Kreuzer [Sat, 18 Aug 2018 10:16:33 +0000 (12:16 +0200)]
[FREELDR] Fix calculation of page lookup table (#761)

On x64 we only map 1GB of pages, so adjust MM_MAX_PAGE accordingly and also respect that value when searching for the best location of the page lookup table.
CORE-11048 #resolve

15 months ago[USER32] Fix copying from WNDCLASS to WNDCLASSEX
Timo Kreuzer [Fri, 17 Aug 2018 12:50:22 +0000 (14:50 +0200)]
[USER32] Fix copying from WNDCLASS to WNDCLASSEX
This must be done field by field, since the alignment of the structures is different on _WIN64

15 months ago[NTOS:PS] Fix an issue with PROCESS_DEVICEMAP_INFORMATION size on 64 bit builds
Timo Kreuzer [Sat, 10 Feb 2018 22:57:27 +0000 (23:57 +0100)]
[NTOS:PS] Fix an issue with PROCESS_DEVICEMAP_INFORMATION  size on 64 bit builds

The PROCESS_DEVICEMAP_INFORMATION  union has 2 fields, one is a handle, the other one is a structure of 36 bytes (independent of architecture). The handle forces 64 bit alignment on 64 bit builds, making the structure 4 bytes bigger than on 32 bit builds. The site is checked in NtQueryInformationProcess (case ProcessDeviceMap). The expected size on x64 is the size of the Query structure without alignment. autocheck correctly passes the site of the Query union member, while smss passes the full size of PROCESS_DEVICEMAP_INFORMATION. Packing the structure is not an option, since it is defined in public headers without packing. Using the original headers sizeof(PROCESS_DEVICEMAP_INFORMATION) is 0x28, sizeof(PROCESS_DEVICEMAP_INFORMATION::Query) is 0x24.

15 months ago[USER32] Implement support for the MB_SERVICE_NOTIFICATION flag in the MessageBox...
Hermès Bélusca-Maïto [Fri, 17 Aug 2018 19:49:16 +0000 (21:49 +0200)]
[USER32] Implement support for the MB_SERVICE_NOTIFICATION flag in the MessageBox*() APIs.

15 months ago[ROSTESTS] Add a test for the MB_SERVICE_NOTIFICATION flag of the MessageBox*() APIs.
Hermès Bélusca-Maïto [Fri, 17 Aug 2018 19:46:50 +0000 (21:46 +0200)]
[ROSTESTS] Add a test for the MB_SERVICE_NOTIFICATION flag of the MessageBox*() APIs.

15 months ago[ROSTESTS] Rename the "softmodalmsgbox" test to "messagebox".
Hermès Bélusca-Maïto [Fri, 17 Aug 2018 19:44:44 +0000 (21:44 +0200)]
[ROSTESTS] Rename the "softmodalmsgbox" test to "messagebox".

15 months ago[NTOS:OB] Rename object types to their official names to satisfy WinDbg
Timo Kreuzer [Tue, 13 Feb 2018 20:33:04 +0000 (21:33 +0100)]
[NTOS:OB] Rename object types to their official names to satisfy WinDbg

- Rename ObDirectoryType to ObpDirectoryObjectType and remove it from NDK (this is not exported!)
- Rename ObSymbolicLinkType to ObpSymbolicLinkObjectType
- Remove duplicated ObpTypeObjectType from ob.h

15 months ago[NTOSKRNL] Properly initialize the IO_STATUS_BLOCK
Pierre Schweitzer [Fri, 17 Aug 2018 17:12:30 +0000 (19:12 +0200)]
[NTOSKRNL] Properly initialize the IO_STATUS_BLOCK

15 months ago[SHELL32] Translation de-DE CORE-14916
Joachim Henze [Fri, 17 Aug 2018 16:07:35 +0000 (18:07 +0200)]
[SHELL32] Translation de-DE CORE-14916

fix control overlapping in IDD_FOLDER_OPTIONS_FILETYPES
(broke in 0.4.10-dev-24-ed1c6bb0060d06f4c0167d9c2d732f4dc2b4cce4)


15 months ago[USER32] Update file description.
Hermès Bélusca-Maïto [Thu, 16 Aug 2018 20:08:08 +0000 (22:08 +0200)]
[USER32] Update file description.

15 months ago[USER32] Implement SoftModalMessageBox() based on the original MessageBoxTimeoutIndir...
Hermès Bélusca-Maïto [Thu, 16 Aug 2018 20:04:48 +0000 (22:04 +0200)]
[USER32] Implement SoftModalMessageBox() based on the original MessageBoxTimeoutIndirectW().

Additional changes:

- Adapt the message-box dialog procedure to correctly take into account
  the presence or absence of a CANCEL button and take appropriate actions.

- Cache the strings retrieved by MB_GetString() (add FIXME notices too).

15 months ago[ROSTESTS] Add an interactive test for the user32.dll API SoftModalMessageBox().
Hermès Bélusca-Maïto [Thu, 16 Aug 2018 20:01:52 +0000 (22:01 +0200)]
[ROSTESTS] Add an interactive test for the user32.dll API SoftModalMessageBox().

15 months ago[USER32] Code refactoring for MessageBoxTimeoutIndirectW(), in preparation for SoftMo...
Hermès Bélusca-Maïto [Sun, 12 Aug 2018 16:16:29 +0000 (18:16 +0200)]
[USER32] Code refactoring for MessageBoxTimeoutIndirectW(), in preparation for SoftModalMessageBox() implementation.

- Remove usage of ButtonLen and ibtn-pointer arrays, to make the code
  more generic and less dependent on the (maximal) number of buttons
  in the message boxes.

- Move around the code that computes the positions and sizes of the
  window controls.

15 months ago[USER32] Get rid of the old MSGBOXINFO structure and use the new internal MSGBOXDATA...
Hermès Bélusca-Maïto [Fri, 10 Aug 2018 19:38:09 +0000 (21:38 +0200)]
[USER32] Get rid of the old MSGBOXINFO structure and use the new internal MSGBOXDATA structure instead.

15 months ago[USER32] Code formatting only.
Hermès Bélusca-Maïto [Fri, 10 Aug 2018 19:29:45 +0000 (21:29 +0200)]
[USER32] Code formatting only.

15 months ago[USER32] Specify the font to be used for the message-box in its dialog template,...
Hermès Bélusca-Maïto [Fri, 10 Aug 2018 16:20:53 +0000 (18:20 +0200)]
[USER32] Specify the font to be used for the message-box in its dialog template, using DS_SETFONT and a font point size of 0x7FFF, instead of passing a font handle and setting the font of each control manually.

Also improve the flags used in the DrawTextW() call for calculating
the size to be taken by the message-box text.

15 months ago[SDK][UNDOCUSER] Add undocumented user32.dll SoftModalMessageBox() definition and...
Hermès Bélusca-Maïto [Tue, 20 Feb 2018 22:07:11 +0000 (23:07 +0100)]
[SDK][UNDOCUSER] Add undocumented user32.dll SoftModalMessageBox() definition and its structure MSGBOXDATA.

Documented on
and augmented from my own testings.

In addition, add also MessageBoxTimeoutA/W() and MB_GetString().

15 months ago[PSDK] Add IDCANCEL and IDASYNC values (returned by MessageBoxTimeout() and WTSSendMe...
Hermès Bélusca-Maïto [Tue, 20 Feb 2018 21:05:31 +0000 (22:05 +0100)]
[PSDK] Add IDCANCEL and IDASYNC values (returned by MessageBoxTimeout() and WTSSendMessage() functions).

15 months ago[USER32] Move related functions close to each other.
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 19:37:16 +0000 (20:37 +0100)]
[USER32] Move related functions close to each other.

15 months ago[USER32] Code formatting/indentation fixes only.
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 19:31:29 +0000 (20:31 +0100)]
[USER32] Code formatting/indentation fixes only.

15 months ago[CONFIGURE] Fix tabulation issue
Oleksandr Shaposhnikov [Fri, 17 Aug 2018 14:43:54 +0000 (17:43 +0300)]
[CONFIGURE] Fix tabulation issue

15 months ago[SHELL32_WINETEST] Fix 2 MSVC warnings about flags
Serge Gautherie [Thu, 19 Jul 2018 16:45:32 +0000 (18:45 +0200)]
[SHELL32_WINETEST] Fix 2 MSVC warnings about flags

- "...\ebrowser.c(1188) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"
- "...\ebrowser.c(1198) : warning C4133: 'function' : incompatible types - from 'DWORD *' to 'EXPLORER_BROWSER_OPTIONS *'"


15 months ago[OLEAUT32] Fix an MSVC warning about VarCyMul()
Serge Gautherie [Wed, 18 Jul 2018 13:21:15 +0000 (15:21 +0200)]
[OLEAUT32] Fix an MSVC warning about VarCyMul()

"...\vartype.c(3808) : warning C4028: formal parameter 2 different from declaration"

Mininal cherry-pick Alexandre Julliard

15 months ago[FONT][WIN32SS] Ignore identical mapping in IntLoadFontSubstList
Katayama Hirofumi MZ [Fri, 17 Aug 2018 01:46:01 +0000 (10:46 +0900)]
[FONT][WIN32SS] Ignore identical mapping in IntLoadFontSubstList

15 months ago[REACTOS] Warn if not using RosBE custom CMake
Serge Gautherie [Fri, 11 May 2018 03:57:10 +0000 (05:57 +0200)]
[REACTOS] Warn if not using RosBE custom CMake

Better be explicit immediately, than fail later without a clue.

Thanks to Yuntian Zhang for initial code, adapted by me.


15 months ago[NTOSKRNL] Only allow page file on a few specific device types
Pierre Schweitzer [Thu, 16 Aug 2018 17:00:22 +0000 (19:00 +0200)]
[NTOSKRNL] Only allow page file on a few specific device types

15 months ago[NTOSKRNL] Don't need all access for file object
Pierre Schweitzer [Thu, 16 Aug 2018 16:54:23 +0000 (18:54 +0200)]
[NTOSKRNL] Don't need all access for file object

15 months ago[NTOSKRNL] Add a check commented out for now.
Pierre Schweitzer [Thu, 16 Aug 2018 16:49:55 +0000 (18:49 +0200)]
[NTOSKRNL] Add a check commented out for now.

It's to be enabled once page file handling is moved to ARM3

15 months ago[NTOSKRNL] MmTotalCommitLimit and MmTotalCommitLimitMaximum are in pages, not bytes
Pierre Schweitzer [Thu, 16 Aug 2018 16:40:23 +0000 (18:40 +0200)]
[NTOSKRNL] MmTotalCommitLimit and MmTotalCommitLimitMaximum are in pages, not bytes

15 months ago[CONFIGURE] Added support for new VS 19.15.x
Oleksandr Shaposhnikov [Thu, 16 Aug 2018 15:11:53 +0000 (18:11 +0300)]
[CONFIGURE] Added support for new VS 19.15.x

15 months ago[NTOS:MM] Make SLIST handling for kernel stacks portable
Timo Kreuzer [Sun, 4 Feb 2018 12:30:47 +0000 (13:30 +0100)]
[NTOS:MM] Make SLIST handling for kernel stacks portable

Kernel stacks that re freed, can be placed on an SLIST for quick reuse. The old code was using a member of the PFN of the last stack page as the SLIST_ENTRY. This relies on the following (non-portable) assumptions:
- A stack always has a PTE associated with it.
- This PTE has a PFN associated with it.
- The PFN has an empty field that can be re-used as an SLIST_ENTRY.
- The PFN has another field that points back to the PTE, which then can be used to get the stack base.

Specifically: On x64 the PFN field is not 16 bytes aligned, so it cannot be used as an SLIST_ENTRY. (In a "usermode kernel" the other assumptions are also invalid).

The new code does what Windows does (and which seems absolutely obvious to do): Place the SLIST_ENTRY directly on the stack.

15 months ago[NTOS:SE] Fix SeSetSecurityDescriptorInfoEx to prevent pool corruption on x64
Timo Kreuzer [Sun, 4 Feb 2018 19:07:17 +0000 (20:07 +0100)]
[NTOS:SE] Fix SeSetSecurityDescriptorInfoEx to prevent pool corruption on x64

15 months ago[ADVAPI32][SHELL32][DESK.CPL] Kill copy-paste of RegLoadMUIString. (#748)
Getequ [Thu, 16 Aug 2018 14:10:41 +0000 (21:10 +0700)]
[ADVAPI32][SHELL32][DESK.CPL] Kill copy-paste of RegLoadMUIString. (#748)

RegLoadMUIStringW/A is part of advapi32.dll . shell32.dll and desk.cpl contained exact line-by-line copy of that function.

15 months ago[NTOS:MM] Update a DPRINT string (#760)
Serge Gautherie [Thu, 16 Aug 2018 13:10:24 +0000 (15:10 +0200)]
[NTOS:MM] Update a DPRINT string (#760)


15 months ago[FONT][WIN32SS] Support MS symbol encoding (#759)
Katayama Hirofumi MZ [Thu, 16 Aug 2018 12:38:46 +0000 (21:38 +0900)]
[FONT][WIN32SS] Support MS symbol encoding (#759)

This commit adds support for the MS symbol encoding (FT_ENCODING_MS_SYMBOL) in our font engine.
It also fixes the display of the Anastasia font. And replacing our Marlett font with Windows' Marlett font is also fixed.

CORE-13269, CORE-14907

15 months ago[USBPORT] Fix 64 bit warnings.
Thomas Faber [Thu, 16 Aug 2018 12:10:35 +0000 (14:10 +0200)]
[USBPORT] Fix 64 bit warnings.

15 months ago[USBPORT] Specify the correct length for the root hub's hub descriptor.
Thomas Faber [Thu, 16 Aug 2018 12:10:15 +0000 (14:10 +0200)]
[USBPORT] Specify the correct length for the root hub's hub descriptor.

15 months ago[USBPORT] Remove an unnecessary check in USBPORT_AllocateBandwidthUSB2. CID 1434261
Thomas Faber [Wed, 15 Aug 2018 10:49:42 +0000 (12:49 +0200)]
[USBPORT] Remove an unnecessary check in USBPORT_AllocateBandwidthUSB2. CID 1434261

15 months ago[USBPORT] Remove an unnecessary check in USB2_ConvertFrame. CID 1434244
Thomas Faber [Wed, 15 Aug 2018 10:22:02 +0000 (12:22 +0200)]
[USBPORT] Remove an unnecessary check in USB2_ConvertFrame. CID 1434244

15 months ago[USBPORT] Accept negative BusTime in USB2_MoveTtEndpoint. CID 1434226
Thomas Faber [Wed, 15 Aug 2018 10:20:01 +0000 (12:20 +0200)]
[USBPORT] Accept negative BusTime in USB2_MoveTtEndpoint. CID 1434226

15 months ago[WIN32K:NTUSER] Fix type confusion in MsgMemorySize.
Thomas Faber [Sun, 12 Aug 2018 13:47:12 +0000 (15:47 +0200)]
[WIN32K:NTUSER] Fix type confusion in MsgMemorySize.

15 months ago[NTOSKRNL] Start making our MMPAGING_FILE struct look like the real one
Pierre Schweitzer [Thu, 16 Aug 2018 12:04:27 +0000 (14:04 +0200)]
[NTOSKRNL] Start making our MMPAGING_FILE struct look like the real one

15 months ago[NTOSKRNL] Store page file sizes in pages, not in bytes
Pierre Schweitzer [Thu, 16 Aug 2018 11:50:16 +0000 (13:50 +0200)]
[NTOSKRNL] Store page file sizes in pages, not in bytes

15 months ago[NTOSKRNL] Store page file minimum size and use it to prevent page file shrinking
Pierre Schweitzer [Thu, 16 Aug 2018 11:41:16 +0000 (13:41 +0200)]
[NTOSKRNL] Store page file minimum size and use it to prevent page file shrinking

15 months ago[NTOSKRNL] Page files don't have an init size, but a minimum size
Pierre Schweitzer [Thu, 16 Aug 2018 10:42:34 +0000 (12:42 +0200)]
[NTOSKRNL] Page files don't have an init size, but a minimum size


15 months ago[NTOSKRNL] Drop the MmPagingFile spin lock in favor of a guarded mutex
Pierre Schweitzer [Thu, 16 Aug 2018 10:39:24 +0000 (12:39 +0200)]
[NTOSKRNL] Drop the MmPagingFile spin lock in favor of a guarded mutex

15 months ago[NTOSKRNL] Drop the alloc map from page file
Pierre Schweitzer [Thu, 16 Aug 2018 10:16:39 +0000 (12:16 +0200)]
[NTOSKRNL] Drop the alloc map from page file

It was making no sense, and implemented in a broken way
that couldn't have worked if code path was used.

15 months ago[NTOSKRNL] Stub page file extension support
Pierre Schweitzer [Thu, 16 Aug 2018 09:58:58 +0000 (11:58 +0200)]
[NTOSKRNL] Stub page file extension support

15 months ago[WIN32SS] Fix DrawText wrt DT_CALCRECT | DT_VCENTER (#745)
Katayama Hirofumi MZ [Wed, 15 Aug 2018 17:50:19 +0000 (02:50 +0900)]
[WIN32SS] Fix DrawText wrt DT_CALCRECT | DT_VCENTER (#745)

The test program:

15 months ago[SYSDM] Use single string control for system version
Stanislav Motylkov [Sat, 11 Aug 2018 09:56:08 +0000 (12:56 +0300)]
[SYSDM] Use single string control for system version

15 months ago[SYSSETUP] Fix the button sizes of theme selection dialog (#746)
Katayama Hirofumi MZ [Wed, 15 Aug 2018 16:32:17 +0000 (01:32 +0900)]
[SYSSETUP] Fix the button sizes of theme selection dialog (#746)


15 months agoRemove unnecessary executable bits
Mike Swanson [Tue, 14 Aug 2018 23:10:55 +0000 (16:10 -0700)]
Remove unnecessary executable bits

15 months ago[WIN32SS][USER] fixing couple typos for WINVER >= 0x600
Denis Malikov [Wed, 15 Aug 2018 15:05:03 +0000 (22:05 +0700)]
[WIN32SS][USER] fixing couple typos for WINVER >= 0x600