reactos.git
10 months ago[WIN32SS][NTUSER] Sunken menu item (#981)
Katayama Hirofumi MZ [Fri, 26 Oct 2018 19:20:09 +0000 (04:20 +0900)]
[WIN32SS][NTUSER] Sunken menu item (#981)

CORE-15226

10 months ago[CMAKE] Use configured include files to define the __RELFILE__ hack (#979)
Jérôme Gardou [Fri, 26 Oct 2018 11:47:22 +0000 (13:47 +0200)]
[CMAKE] Use configured include files to define the __RELFILE__ hack (#979)

[CMAKE] Use configured include files to define the __RELFILE__ hack

It's easier on the command line and the eyes looking at it

10 months ago[APITESTS][USER32] Add testcase for SwitchToThisWindow (#980)
Katayama Hirofumi MZ [Fri, 26 Oct 2018 10:56:25 +0000 (19:56 +0900)]
[APITESTS][USER32] Add testcase for SwitchToThisWindow (#980)

Add an API test program for user32!SwitchToThisWindow function.
JIRA issue: CORE-15165

10 months ago[CMAKE] Set CMAKE_OBJCOPY unconditionnally
Jérôme Gardou [Fri, 26 Oct 2018 08:16:26 +0000 (10:16 +0200)]
[CMAKE] Set CMAKE_OBJCOPY unconditionnally

10 months agoAdd Eclipse files to .gitignore
Jérôme Gardou [Tue, 23 Oct 2018 17:18:47 +0000 (19:18 +0200)]
Add Eclipse files to .gitignore

10 months ago[USETUP] NT RTL thread functions use 'NULL' (instead of 'INVALID_HANDLE_VALUE' which...
Hermès Bélusca-Maïto [Wed, 9 Aug 2017 20:43:02 +0000 (20:43 +0000)]
[USETUP] NT RTL thread functions use 'NULL' (instead of 'INVALID_HANDLE_VALUE' which is a Win32 thing) for thread handles that are "invalid" / uninitialized.

svn path=/branches/setup_improvements/; revision=75519

10 months ago[USETUP] Moving around some code.
Hermès Bélusca-Maïto [Fri, 30 Jun 2017 19:02:35 +0000 (19:02 +0000)]
[USETUP] Moving around some code.

- As GetSourcePaths() is used once in USETUP to initialize global
  UNICODE_STRING path strings once, move it out of drivesup.c and
  put it in usetup.c. Then remove drivesup.c : 1 file less!

- Move some INF file prototype declarations out of usetup.h and
  inside inffile.h where they should better be, as inffile.h and .c
  is the glue code for the INF library, defining similar functions
  as the ones in setupapi.dll.

- I rename our local SetupOpenInfFileW() into SetupOpenInfFileExW()
  because the latter one takes an extra user-provided LCID parameter,
  and this is this one that we use in USETUP.

- Make 'UNICODE_STRING SourcePath;' visible only inside usetup.c
  (not used elsewhere).

- Implement installation path validity check in case we are either
  in repair/update, or unattended setup mode. If the path is detected
  as invalid, then we fall back into manual path specification
  (for now...; note that we could instead fail the installation too).

svn path=/branches/setup_improvements/; revision=75246

10 months ago[USETUP] Implement most of the "upgrade" page, where existing NTOS installations...
Hermès Bélusca-Maïto [Thu, 31 May 2018 14:38:06 +0000 (16:38 +0200)]
[USETUP] Implement most of the "upgrade" page, where existing NTOS installations are listed.

- Modify a bit the page flow so that the upgrade page is inserted before
  the Device-settings page, and after the Install-Intro page.

- Insert some extra 'RepairUpdateFlag' checks in SelectPartitionPage() and
  InstallDirectoryPage() to take specific actions in case the flag is TRUE.

svn path=/branches/setup_improvements/; revision=74576
svn path=/branches/setup_improvements/; revision=75525

10 months ago[USETUP] Add an upgrade/repair installation page.
Hermès Bélusca-Maïto [Mon, 15 May 2017 01:48:19 +0000 (01:48 +0000)]
[USETUP] Add an upgrade/repair installation page.

Translators, please update the associated translations!

svn path=/branches/setup_improvements/; revision=74548

10 months ago[USER32] Fix Task Switcher (#976)
Katayama Hirofumi MZ [Thu, 25 Oct 2018 13:59:44 +0000 (22:59 +0900)]
[USER32] Fix Task Switcher (#976)

This fix is needed for the Delphi GUI programs.
- Don't enumerate the windows whose owner window exists.
- Use PostMessage SC_RESTORE instead of ShowWindowAsync SW_RESTORE.
CORE-15165

10 months ago[SDK] Update baseaddresses
Mark Jansen [Thu, 25 Oct 2018 04:59:15 +0000 (06:59 +0200)]
[SDK] Update baseaddresses

10 months ago[USETUP] Use UNICODE_NULL.
Hermès Bélusca-Maïto [Fri, 30 Jun 2017 22:17:18 +0000 (22:17 +0000)]
[USETUP] Use UNICODE_NULL.

svn path=/branches/setup_improvements/; revision=75248

10 months ago[USETUP] More code for updating/repairing the registry. Fix the name of the txtsetup...
Hermès Bélusca-Maïto [Thu, 22 Jun 2017 00:38:32 +0000 (00:38 +0000)]
[USETUP] More code for updating/repairing the registry. Fix the name of the txtsetup.sif section to look for when performing a registry upgrade.

[BOOTDATA] Add needed entries in txtsetup.sif for registry upgrade.

svn path=/branches/setup_improvements/; revision=75162
svn path=/branches/setup_improvements/; revision=75226

10 months ago[USETUP] Mark some variables as 'static'.
Hermès Bélusca-Maïto [Thu, 22 Jun 2017 00:36:29 +0000 (00:36 +0000)]
[USETUP] Mark some variables as 'static'.

svn path=/branches/setup_improvements/; revision=75161

10 months ago[USETUP] Implement work-in-progress code that allows verifying whether registry hives...
Hermès Bélusca-Maïto [Mon, 12 Jun 2017 00:09:16 +0000 (00:09 +0000)]
[USETUP] Implement work-in-progress code that allows verifying whether registry hives validity.

Implement work-in-progress code that, when upgrading an existing
ReactOS installation, verifies whether the (existing) system registry
hives are valid (by loading & unloading them, this allows using the
built-in repair functionality if needed), or not.

If a given hive cannot be repaired successfully, it is backed up
(with a '.brk' extension, "brk" as "broken"), then is marked up for
recreation.

When all hives have been checked, if there are any hive that needs
to be recreated, we recreate its hive file, mount it, but we do *NOT*
mount the other valid existing hives for update. We create instead
dummy registry hives so that we can actually use, as the update code,
the same one as the one used when fully creating the registry hives
for a clean installation (of course, this choice can be improved later on).

The update code (i.e. the same as the registry clean-install one) then
adds the registry keys & values, either putting them in the dummy
registry hives (the ones that we don't want to recreate) or in the
registry hive that is recreated.

At the end, the (re)created registry hives are flushed back to disk,
and a copy of them (under a '.sav' extension) are created, so that they
can be used for restoration purposes if 2nd-stage (and up) goes berserk.

Extra fixes:

- Use the correct structure member field when initializing the
  'InstallDir' variable, when performing an upgrade.

- CreateNestedKey() should be better analysed to see whether it correctly
  creates the full registry path compatible with volatile/non-volatile keys
  (under inspection).

svn path=/branches/setup_improvements/; revision=75010

10 months ago[USETUP] Introduce SetupDeleteFile() and SetupMoveFile() (in addition to the already...
Hermès Bélusca-Maïto [Sun, 11 Jun 2017 23:58:43 +0000 (23:58 +0000)]
[USETUP] Introduce SetupDeleteFile() and SetupMoveFile() (in addition to the already-existing SetupCopyFile()) in order to implement moving / renaming existing files.

Will be used soon to make backups of system files, like the registry hive files just freshly created.
- Make the SetupCopyFile() function closer to its win32 counterpart.
- Adjust the code that calls SetupCopyFile().

svn path=/branches/setup_improvements/; revision=75008
svn path=/branches/setup_improvements/; revision=75009

10 months ago[USETUP] Explicitly use the REG_OPTION_(NON_)VOLATILE flags in NtCreateKey calls.
Hermès Bélusca-Maïto [Sun, 11 Jun 2017 23:47:11 +0000 (23:47 +0000)]
[USETUP] Explicitly use the REG_OPTION_(NON_)VOLATILE flags in NtCreateKey calls.

svn path=/branches/setup_improvements/; revision=75007

10 months ago[USETUP] Implement offline ReactOS registry initialization in USetup (equivalent...
Hermès Bélusca-Maïto [Sat, 3 Jun 2017 16:22:42 +0000 (16:22 +0000)]
[USETUP] Implement offline ReactOS registry initialization in USetup (equivalent of mkhive, but using OS functionality).

The rationale is as follows.

We now have the 1st-stage ReactOS setup running with its own registry SYSTEM hive,
similarly to regular ROS running instances (livecd, regular installation...).

The ReactOS-specific SetInstallPathValue() hack, introduced in a76689e9 (r3794)
and 5f973ce0 (r3795), is removed. This hack told the kernel that, during the setup,
it had to "switch" the used registry hives and instead use the ones of the ROS
installation being prepared.

This was really hackish because this means, mixing between registry settings used only
for the setup running instance, that could use different registry settings
than the ones that should be set for the ROS installation being actually performed.

Also, note that in the case of a 1st-stage GUI setup, consisting in running the
LiveCD + the GUI setup program, this situation would be untenable. Note also that
for people willing to use the Setup*** functions exported by setupapi.dll to parse
the registry INF files to initialize the registry of the ROS installation being
prepared, this would be impossible either.

Hence the need to have offline registry modification functionality.

svn path=/branches/setup_improvements/; revision=74766

10 months ago[USETUP] Code formatting, making also the code closer to mkhive's one. Also, definite...
Hermès Bélusca-Maïto [Sat, 3 Jun 2017 15:20:09 +0000 (15:20 +0000)]
[USETUP] Code formatting, making also the code closer to mkhive's one. Also, definitely remove the SetInstallPathValue() hack.

svn path=/branches/setup_improvements/; revision=74763

10 months ago[CMAKE] Apply patch INF file for the SETUP SYSTEM registry hive that removes the... 561/head
Hermès Bélusca-Maïto [Wed, 24 Oct 2018 22:18:29 +0000 (00:18 +0200)]
[CMAKE] Apply patch INF file for the SETUP SYSTEM registry hive that removes the entries in the Critical Device Database that cause problems with PnP setup during 1st-stage setup.

10 months ago[FREELDR] Adjust WinLdrInitSystemHive() and its callers to load at startup either...
Hermès Bélusca-Maïto [Sat, 3 Jun 2017 14:55:18 +0000 (14:55 +0000)]
[FREELDR] Adjust WinLdrInitSystemHive() and its callers to load at startup either the regular SYSTEM hive, or the SETUPREG.HIV setup system hive.

We now run the 1st-stage setup with a regular system hive, similarly to
what's done for the LiveCD, or for a regular ROS installation.
The ExpInTextModeSetup hacks I previously removed are now completely unneeded.

svn path=/branches/setup_improvements/; revision=74762

10 months ago[FREELDR] Small code re-organization for the "ntldr" sub-module.
Hermès Bélusca-Maïto [Fri, 2 Jun 2017 00:52:36 +0000 (00:52 +0000)]
[FREELDR] Small code re-organization for the "ntldr" sub-module.

Split the "main" winldr.h header into the one containing global code
that actually doesn't really depend on the "windows" NT loader part,
and one that actually concerns code just for the NT Loader.
The latter goes into "ntldr".

svn path=/branches/setup_improvements/; revision=74743

10 months ago[NTOS] Drastically reduce the hackish function CmpGetRegistryPath() for the text...
Hermès Bélusca-Maïto [Thu, 22 Jun 2017 00:46:30 +0000 (00:46 +0000)]
[NTOS] Drastically reduce the hackish function CmpGetRegistryPath() for the text-mode setup case (it should ultimately completely disappear).

svn path=/branches/setup_improvements/; revision=75163

10 months ago[NTOS] Add some DPRINTs in IopLoadServiceModule() and IopOpenRegistryKeyEx() to inves...
Hermès Bélusca-Maïto [Fri, 2 Jun 2017 15:49:12 +0000 (15:49 +0000)]
[NTOS] Add some DPRINTs in IopLoadServiceModule() and IopOpenRegistryKeyEx() to investigate why these 1st-stage text-mode hacks may be, or are (respectively) still needed.

svn path=/branches/setup_improvements/; revision=74748

10 months ago[NTOS] Configuration Manager fixes.
Hermès Bélusca-Maïto [Fri, 2 Jun 2017 15:47:52 +0000 (15:47 +0000)]
[NTOS] Configuration Manager fixes.

- Rework CmpSetSystemValues() and remove its 1st-stage text-mode setup hack, since a real registry hive will be used for 1st-stage either.
- Lock, then unlock the registry in NtInitializeRegistry when initializing the hives & flusher.
- Call CmpInitializeHiveList() (i.e., initialize the other hives like \Software, \User, \.Default) only when we are not in setup-mode.

svn path=/branches/setup_improvements/; revision=74747

10 months ago[NTOS] Remove some hacks that are not needed anymore, since a real registry hive...
Hermès Bélusca-Maïto [Fri, 2 Jun 2017 15:37:56 +0000 (15:37 +0000)]
[NTOS] Remove some hacks that are not needed anymore, since a real registry hive will be used in 1st-stage as well.

This reverts a7c26408 (r53255) and ff75ae1b (r53694), and a hack from 6075ae9a (r46690).

svn path=/branches/setup_improvements/; revision=74745
svn path=/branches/setup_improvements/; revision=74746

10 months ago[SHIMGVW] Fix image flickering when rendering animations
Stanislav Motylkov [Wed, 24 Oct 2018 16:16:22 +0000 (19:16 +0300)]
[SHIMGVW] Fix image flickering when rendering animations

10 months ago[TASKMGR][TRANSLATION] Estonian localization
Joann Mõndresku [Wed, 24 Oct 2018 13:42:56 +0000 (16:42 +0300)]
[TASKMGR][TRANSLATION] Estonian localization

10 months ago[LPK][GDI32] Enable mirroring via version resource (#965)
Baruch Rutman [Wed, 24 Oct 2018 19:34:38 +0000 (22:34 +0300)]
[LPK][GDI32] Enable mirroring via version resource (#965)

Add a mechanism that detects via the version resource whether it's needed to mirror
the application layout or not. This is a "follow up" to commit 5b14b6f.

This code is taken from the GetProcessDefaultLayout() function from Wine
(called there "WIN_CreateWindowEx").

In Windows the version-resource mirroring happens when the GDI is loading the LPK.

- Implement mirroring via version resource. GDI linking on startup is required.

- GDI32: Add LPK loading on GDI startup.

To enable mirroring via version resource the lpk.dll must be loaded before any windows are created.
This is done through GdiInitializeLanguagePack() function which is called in GdiProcessSetup().

- LPK: Use Wine debug messaging.

10 months ago[TRANSLATION][MC] Add Romanian messages (#850)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 13:40:21 +0000 (22:40 +0900)]
[TRANSLATION][MC] Add Romanian messages (#850)

CORE-11898

10 months ago[BOOTDATA][HIVECLS] Use shell image viewer for GIF files (#971)
Stanislav Motylkov [Wed, 24 Oct 2018 12:09:23 +0000 (15:09 +0300)]
[BOOTDATA][HIVECLS] Use shell image viewer for GIF files (#971)

Change GIF file type association to the shell image viewer. CORE-12680

10 months ago[FONT][WIN32SS] Fix the storage processing of IntGetOutlineTextMetrics (#942)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 11:23:24 +0000 (20:23 +0900)]
[FONT][WIN32SS] Fix the storage processing of IntGetOutlineTextMetrics (#942)

* Add IntStoreFontNames and IntStoreName functions and use them.
* SCALE_X and SCALE_Y macros
* Fix too long line
* Reduce type casts

10 months ago[WIN32SS][USER32] Fix SwitchToThisWindow (#929)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 11:02:27 +0000 (20:02 +0900)]
[WIN32SS][USER32] Fix SwitchToThisWindow (#929)

I'm not sure but it seems like no one can investigate it. I commit it.

10 months ago[FONT][WIN32SS] Improve readability of IntGdiGetFontResourceInfo (#945)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 10:58:03 +0000 (19:58 +0900)]
[FONT][WIN32SS] Improve readability of IntGdiGetFontResourceInfo (#945)

Make it human friendly code.

10 months ago[WIN32SS][MENU] Fix menu text Y positioning (#887)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 10:54:41 +0000 (19:54 +0900)]
[WIN32SS][MENU] Fix menu text Y positioning (#887)

Fix the vertical position of menu bar text. CORE-15094

10 months ago[SHIMGVW] Play gif animation (#934)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 10:51:30 +0000 (19:51 +0900)]
[SHIMGVW] Play gif animation (#934)

Make "Picture and Fax Viewer" able to play GIF animation.
CORE-12680

10 months ago[REGEDIT] Improve the layout of controls (#967)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 09:19:48 +0000 (18:19 +0900)]
[REGEDIT] Improve the layout of controls (#967)

The horizontal scroll bar of the listview was wrongly hidden.
CORE-15187

10 months ago[REGEDIT] Don't paint background in WM_PAINT (#970)
Katayama Hirofumi MZ [Wed, 24 Oct 2018 09:17:28 +0000 (18:17 +0900)]
[REGEDIT] Don't paint background in WM_PAINT (#970)

Use the background brush or WM_ERASEBKGND message instead. There was graphical glidge. CORE-15187

10 months ago[USETUP] Reshuffle a bit the main-function of USetup.
Hermès Bélusca-Maïto [Fri, 9 Jun 2017 16:37:53 +0000 (16:37 +0000)]
[USETUP] Reshuffle a bit the main-function of USetup.

svn path=/branches/setup_improvements/; revision=74975

10 months ago[USETUP] The 'DestinationDriveLetter' variable (that is just used for SetDefaultPagef...
Hermès Bélusca-Maïto [Thu, 8 Jun 2017 02:01:56 +0000 (02:01 +0000)]
[USETUP] The 'DestinationDriveLetter' variable (that is just used for SetDefaultPagefile()...) just needs to be initialized at one place only.

svn path=/branches/setup_improvements/; revision=74951

10 months ago[USETUP] Whitespace fixes only.
Hermès Bélusca-Maïto [Tue, 23 May 2017 21:01:10 +0000 (21:01 +0000)]
[USETUP] Whitespace fixes only.

svn path=/branches/setup_improvements/; revision=74636
svn path=/branches/setup_improvements/; revision=74639

10 months ago[USETUP] Small formatting changes + two functions turned into FORCEINLINE.
Hermès Bélusca-Maïto [Sun, 21 May 2017 23:34:03 +0000 (23:34 +0000)]
[USETUP] Small formatting changes + two functions turned into FORCEINLINE.

Based on:
svn path=/branches/setup_improvements/; revision=74616

10 months ago[USETUP] Rename some of the uninformative "STRING_HDDINFOUNKx" string labels into...
Hermès Bélusca-Maïto [Sun, 21 May 2017 23:17:24 +0000 (23:17 +0000)]
[USETUP] Rename some of the uninformative "STRING_HDDINFOUNKx" string labels into more informative ones.

- Also, reserve a new field to display whether the disk is MBR or GPT-initialized.
- Adjust the code that used the "STRING_HDDINFOUNKx" string labels.
  The extra slot added to some of the strings is to indicate whether the disk is MBR or GPT.

As attentive readers will notice, the code that "determines" whether the disk is either MBR or GPT
is of course just temporary: it's just a placeholder code that should currently just show "MBR".

Having the NoMbr flag mostly signifies that the disk is uninitialized. A GPT disk also has a MBR
but it's for "backcompatibility" / "protective" reasons (so that MBR-only tools would see the disk
as just a big 1-partitioned only disk with which they could barely do anything). A real involved test
for the nature of the disk should involve calling the correct IOCTLs in the disk detection code in partlist.c .
This is for the future (and when ReactOS will better support GPT disks).

svn path=/branches/setup_improvements/; revision=74614
svn path=/branches/setup_improvements/; revision=74615

10 months ago[USETUP] Massage the USETUP interface code.
Hermès Bélusca-Maïto [Mon, 15 May 2017 01:48:19 +0000 (01:48 +0000)]
[USETUP] Massage the USETUP interface code.

- The "intro" page is renamed into the "Welcome" page, because its corresponding resource indeed is the welcome screen;
- Because the "setup start" page can only be displayed once, move it out of the while-loop, and use its result as the initial value of the 'Page' variable.
- Remove unneeded _PAGE_NUMBER_DEFINED guards;
- Add a DPRINT in the RepairUpdateFlag case of RegistryPage() (because we don't implement yet a correct upgrading or repairing of the registry).
- In InstallIntroPage(), display the page itself only if needed (i.e. after all the validation checks & repair/update or unattended checks are done). Similar modifications are done also in DeviceSettingsPage(), SelectPartitionPage()
- Turn both CheckUnattendedSetup() and UpdateKBLayout() into static functions.
- Fix the code of ScsiControllerPage() so that it can be compiled if needed, and add a dummy OemDriverPage().

svn path=/branches/setup_improvements/; revision=74575

10 months ago[INETCPL] Add icon codes for trusted and restricted zones
Stanislav Motylkov [Tue, 23 Oct 2018 22:13:15 +0000 (01:13 +0300)]
[INETCPL] Add icon codes for trusted and restricted zones

10 months ago[SETUPAPI] SetupDiGetClassDevPropertySheetsW: Implement adding property pages from...
Eric Kohl [Tue, 23 Oct 2018 21:10:03 +0000 (23:10 +0200)]
[SETUPAPI] SetupDiGetClassDevPropertySheetsW: Implement adding property pages from an installer.

SetupDiGetClassInstallParamsW must be implemented before this will work.

10 months ago[NTOSKRNL] Translate pinning flags to mapping flags when first mapping a file
Pierre Schweitzer [Tue, 23 Oct 2018 19:48:01 +0000 (21:48 +0200)]
[NTOSKRNL] Translate pinning flags to mapping flags when first mapping a file

10 months ago[USETUP] Fix a broken character in Italian resource (#968)
Bișoc George [Tue, 23 Oct 2018 15:41:38 +0000 (17:41 +0200)]
[USETUP] Fix a broken character in Italian resource (#968)

Also add two spaces at the beginning of the "deleting cache" string.

10 months ago[NET] Fix an escape sequence in Polish translation (#966)
Katayama Hirofumi MZ [Tue, 23 Oct 2018 11:10:38 +0000 (20:10 +0900)]
[NET] Fix an escape sequence in Polish translation (#966)

11 months ago[rosctrls.h] CListView: Add Arrange method
Giannis Adamopoulos [Mon, 22 Oct 2018 20:51:37 +0000 (23:51 +0300)]
[rosctrls.h] CListView: Add Arrange method

[SHELL32] CDefView: Start implementing Auto arrange.
So far its effect is only shown when the browser window resizes.

11 months ago[SHELL32] CDefView: Disable auto arrange in list and details view mode.
Giannis Adamopoulos [Mon, 22 Oct 2018 16:18:28 +0000 (19:18 +0300)]
[SHELL32] CDefView: Disable auto arrange in list and details view mode.
This supersedes PR #927 and does it correctly.

11 months ago[BROWSEUI] CInternetToolbar: Implement hiding and showing the browser toolbars.
Giannis Adamopoulos [Mon, 22 Oct 2018 15:41:47 +0000 (18:41 +0300)]
[BROWSEUI] CInternetToolbar: Implement hiding and showing the browser toolbars.

11 months ago[NTOS:CM] CmpCmdHiveOpen(): Resolve FileAttributes->RootDirectory when a hive file...
Hermès Bélusca-Maïto [Sun, 21 Oct 2018 22:39:50 +0000 (00:39 +0200)]
[NTOS:CM] CmpCmdHiveOpen(): Resolve FileAttributes->RootDirectory when a hive file name is provided relative to it.

Fixes registry hive loading. CORE-13448

11 months ago[NTDLL_APITEST] Re-enable the part of the NtLoad/UnloadKey test related to force... 964/head
Hermès Bélusca-Maïto [Sun, 21 Oct 2018 21:09:32 +0000 (23:09 +0200)]
[NTDLL_APITEST] Re-enable the part of the NtLoad/UnloadKey test related to force-unload a hive with opened sub-key handles.

Effectively reverts b17ce9c8 (r75138).

CORE-13448

11 months ago[NTOS:CM] Implement more support for force-unloading registry hives.
Hermès Bélusca-Maïto [Sun, 21 Oct 2018 21:08:51 +0000 (23:08 +0200)]
[NTOS:CM] Implement more support for force-unloading registry hives.
CORE-13448 CORE-10705

11 months ago[NTOS:CM] Add extra validation for the information class parameter in NtEnumerateValu...
Hermès Bélusca-Maïto [Sun, 21 Oct 2018 16:12:08 +0000 (18:12 +0200)]
[NTOS:CM] Add extra validation for the information class parameter in NtEnumerateValueKey().

11 months ago[NTOS:CM] Improve the capture of user-mode parameters. 960/head
Hermès Bélusca-Maïto [Sun, 21 Oct 2018 13:42:13 +0000 (15:42 +0200)]
[NTOS:CM] Improve the capture of user-mode parameters.

- Improve the capture of OBJECT_ATTRIBUTES parameters that are passed
  (by pointer) to the Cm* helper functions, and the capture of
  UNICODE_STRINGs.

- Correctly differentiate user-mode vs. kernel-mode root directory handles
  (in OBJECT_ATTRIBUTES): note that most of the Cm* APIs expect their
  parameters to be kernel-mode (pointers, handles...).

CORE-13448

11 months ago[SYSDM] Fix controls order and label height in IDD_SYSSETTINGS dialog
Stanislav Motylkov [Sat, 20 Oct 2018 23:15:01 +0000 (02:15 +0300)]
[SYSDM] Fix controls order and label height in IDD_SYSSETTINGS dialog

This fixes checkbox rendering issue in russian translation.
Dialogs in other translations are ok.

CORE-13792

11 months ago[APPWIZ] Do not display the message box if the user aborts the download 946/head
Bișoc George [Sun, 14 Oct 2018 14:07:51 +0000 (16:07 +0200)]
[APPWIZ] Do not display the message box if the user aborts the download

CORE-15183

11 months ago[REGEDIT] Trivial resizing code fix 950/head
Katayama Hirofumi MZ [Mon, 15 Oct 2018 14:28:19 +0000 (23:28 +0900)]
[REGEDIT] Trivial resizing code fix

11 months ago[REGEDIT] Code formatting 949/head
Katayama Hirofumi MZ [Mon, 15 Oct 2018 14:13:06 +0000 (23:13 +0900)]
[REGEDIT] Code formatting

11 months ago[CHKDSK] Fix MSVC build (thanks for spotting the mistake!)
Pierre Schweitzer [Sun, 21 Oct 2018 09:22:45 +0000 (11:22 +0200)]
[CHKDSK] Fix MSVC build (thanks for spotting the mistake!)

Addendum to ec9fc7f

11 months ago[VFATLIB] Don't attempt to fix volume if not allowed
Pierre Schweitzer [Sun, 21 Oct 2018 09:12:10 +0000 (11:12 +0200)]
[VFATLIB] Don't attempt to fix volume if not allowed

11 months ago[CHKDSK] Add French translation
Pierre Schweitzer [Sun, 21 Oct 2018 09:06:06 +0000 (11:06 +0200)]
[CHKDSK] Add French translation

11 months ago[RAPPS][TRANSLATION] Estonian localization (#959)
Joann Mõndresku [Sat, 20 Oct 2018 23:58:02 +0000 (02:58 +0300)]
[RAPPS][TRANSLATION] Estonian localization (#959)

11 months ago[CHKDSK] Add russian translation
Stanislav Motylkov [Sat, 20 Oct 2018 19:49:37 +0000 (22:49 +0300)]
[CHKDSK] Add russian translation

11 months ago[TRANSLATION] Polish translation update
Adam Słaboń [Sat, 13 Oct 2018 10:27:52 +0000 (12:27 +0200)]
[TRANSLATION] Polish translation update

Polish translation of net, telnet, diskpart, devcpux, fontext, iernonce, lsasrv, themes, arping, frag, screensavers, ctm, fontsub, WinetestsGUI and localmon.
Update for dxdiag, msgina, msports, netcfgx, shell32 and syssetup.

11 months ago[CHKDSK] Implement localization support (#891)
Bișoc George [Sat, 20 Oct 2018 19:21:51 +0000 (21:21 +0200)]
[CHKDSK] Implement localization support (#891)

- Make the strings translatable.
- Include the English translation within the main resource file.
- Use ConResPrintf() and ConResPuts() for resource strings.

11 months ago[APPWIZ] Translation update for Romanian & Italian
Bișoc George [Thu, 11 Oct 2018 14:50:31 +0000 (16:50 +0200)]
[APPWIZ] Translation update for Romanian & Italian

11 months ago[MEDIA] Add a notice to the chinese translation document.
Hermès Bélusca-Maïto [Sat, 20 Oct 2018 17:57:18 +0000 (19:57 +0200)]
[MEDIA] Add a notice to the chinese translation document.

11 months agoAdd Notice for Chinese translation.
Luo Yufan [Thu, 11 Oct 2018 10:07:45 +0000 (18:07 +0800)]
Add Notice for Chinese translation.

11 months ago[NTOS:CM] Minor fixes.
Hermès Bélusca-Maïto [Sat, 20 Oct 2018 17:30:59 +0000 (19:30 +0200)]
[NTOS:CM] Minor fixes.

- Validate the information class parameter in NtQueryValueKey().
- Call the post-callback in NtSetValueKey() only if the callback
  has been registered and the CmSetValueKey() call is executed.

11 months ago[NTOS:CM] Reuse the saved previous-mode from the ExGetPreviousMode() calls.
Hermès Bélusca-Maïto [Sat, 20 Oct 2018 17:17:55 +0000 (19:17 +0200)]
[NTOS:CM] Reuse the saved previous-mode from the ExGetPreviousMode() calls.

11 months ago[MKHIVE] Minor code rearrangement.
Hermès Bélusca-Maïto [Sat, 20 Oct 2018 14:49:30 +0000 (16:49 +0200)]
[MKHIVE] Minor code rearrangement.

11 months ago[NOTEPAD] ReactOS Notepad Hindi Translation (#938)
Arnav Bhatt [Sat, 20 Oct 2018 17:41:32 +0000 (23:11 +0530)]
[NOTEPAD] ReactOS Notepad Hindi Translation (#938)

11 months ago[NTVDM] Allow opening files with write access on CDROM
Pierre Schweitzer [Sat, 20 Oct 2018 10:53:52 +0000 (12:53 +0200)]
[NTVDM] Allow opening files with write access on CDROM

Some applications, run on a CDROM, may attempt to open
a file with write access. CDFS driver will deny such
request in ReactOS (but also in Windows NT). Then, to
restore that behavior from old Windows (9X), our ntvdm,
as Microsoft ntvdm will attempt to reopen the file only
with read access, if opening failed because of denied access
and if the file is on a CDROM.

CORE-15211

11 months ago[NTVDM] Implement INT21, AX=4408, Determine if a block device is removable. 940/head
Mark Jansen [Mon, 8 Oct 2018 21:12:19 +0000 (23:12 +0200)]
[NTVDM] Implement INT21, AX=4408, Determine if a block device is removable.

11 months ago[GFLAGS] Implement imagefile options 939/head
Mark Jansen [Sat, 13 Oct 2018 15:11:51 +0000 (17:11 +0200)]
[GFLAGS] Implement imagefile options

11 months ago[GFLAGS] Move common code to a shared location.
Mark Jansen [Sat, 13 Oct 2018 15:10:09 +0000 (17:10 +0200)]
[GFLAGS] Move common code to a shared location.

11 months ago[GFLAGS] Move code around to handle multiple options
Mark Jansen [Fri, 12 Oct 2018 23:14:15 +0000 (01:14 +0200)]
[GFLAGS] Move code around to handle multiple options

11 months ago[USETUP][EXPLORER] ReactOS explorer translation and hindi font substitution. (#954)
Arnav Bhatt [Fri, 19 Oct 2018 15:03:17 +0000 (20:33 +0530)]
[USETUP][EXPLORER] ReactOS explorer translation and hindi font substitution. (#954)

11 months ago[MKHIVE] Fix some compilation warnings.
Hermès Bélusca-Maïto [Thu, 18 Oct 2018 22:25:19 +0000 (00:25 +0200)]
[MKHIVE] Fix some compilation warnings.

11 months ago[USETUP] Add a couple of missing TrimTrailingPathSeparators_UStr() calls.
Hermès Bélusca-Maïto [Thu, 18 Oct 2018 20:58:48 +0000 (22:58 +0200)]
[USETUP] Add a couple of missing TrimTrailingPathSeparators_UStr() calls.

Fixes in particular a regression brought by 57402ee (thanks George Bisoc
for having noticed this), where the BTRFS bootsector code could not be
installed anymore.

CORE-15192

11 months ago[MKHIVE] Fix cases where 'rc' was used without being initialized.
Hermès Bélusca-Maïto [Thu, 18 Oct 2018 21:07:41 +0000 (23:07 +0200)]
[MKHIVE] Fix cases where 'rc' was used without being initialized.

Fixes crashes when the tool is compiled with Run-Time Checks enabled.
And thus should fix the MSVC buildbots!
Thanks to Pierre for having brought this issue to me.

CORE-15201

11 months ago[MKHIVE] Fix compilation warnings. 947/head
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 22:32:48 +0000 (00:32 +0200)]
[MKHIVE] Fix compilation warnings.

11 months ago[SETUPLIB][USETUP] Minor code refactoring, consisting in renaming the "ntos boot...
Hermès Bélusca-Maïto [Thu, 8 Jun 2017 17:30:23 +0000 (17:30 +0000)]
[SETUPLIB][USETUP] Minor code refactoring, consisting in renaming the "ntos boot loader" stuff into "boot store", since this happens to be functionality that is a bit more general than previously thought.

- Fix the usage of the BootEntry's "Version" member.
- Don't surround with too many quotation marks the "friendly" boot entry name in AddBootStoreEntry().

svn path=/branches/setup_improvements/; revision=74964

11 months ago[USETUP] As evoked in 27603a10 (r74943), adapt the code in bootsup.c to abstract...
Hermès Bélusca-Maïto [Thu, 8 Jun 2017 02:43:51 +0000 (02:43 +0000)]
[USETUP] As evoked in 27603a10 (r74943), adapt the code in bootsup.c to abstract the manipulation of freeldr.ini and boot.ini, and make it use the new features of bldrsup.c committed in 27603a10 (r74952).

In particular the helper functions CreateCommonFreeLdrSections() and (Un)protectBootIni() are now removed from there (they are used in bldrsup.c only).
This should pave the way for future integration with other sorts of NT boot loaders (BootMgr and (u)EFI boot loader).

svn path=/branches/setup_improvements/; revision=74954

11 months ago[SETUPLIB] Adapt the code in osdetect.c to make it use the new features of bldrsup...
Hermès Bélusca-Maïto [Thu, 8 Jun 2017 02:20:33 +0000 (02:20 +0000)]
[SETUPLIB] Adapt the code in osdetect.c to make it use the new features of bldrsup.c committed in 27603a10 (r74952).

svn path=/branches/setup_improvements/; revision=74953

11 months ago[SETUPLIB] Introduce a lot of (Work in progress) functions to manipulate boot entries...
Hermès Bélusca-Maïto [Wed, 7 Jun 2017 15:58:44 +0000 (15:58 +0000)]
[SETUPLIB] Introduce a lot of (Work in progress) functions to manipulate boot entries from different boot "stores".

This concerns so far, only freeldr.ini and to an extent, boot.ini, but planning in the future to add support for registry-oriented BCD
as well as possibly direct (u)EFI entries, using the corresponding NT functions.
This code is so far only used in osdetect.c, but will be soon used by usetup's bootsup.c (note that some helper functions: CreateCommonFreeLdrSections()
and (Un)protectBootIni() are already taken from it and used in bldrsup.c).
- In EnumerateNTOSBootEntries(), continue enumerating the boot entries until the user callback returns an status code that is not successful.
- Remove some old code from osdetect.c; use directly BootEntry->FriendlyName when building the display names of the available installations, since now
  BootEntry->FriendlyName is a PCWSTR (and not a UNICODE_STRING anymore).

svn path=/branches/setup_improvements/; revision=74943

[SETUPLIB] Make the NTOS_BOOT_ENTRY structure more generic, so that it can wrap around either actual NTOS boot entry options, or FreeLdr-like boot-sector options.

In a sense, the NTOS_BOOT_ENTRY structure now looks much more like the NT structure "BOOT_ENTRY".
- Adapt the code in bldrsup.c to these modifications, and re-enable FreeLdr-like boot-sector-file support code that was commented out.
More code cleanup will follow later.

svn path=/branches/setup_improvements/; revision=74952

11 months ago[USETUP] Diverse fixes for path handling.
Hermès Bélusca-Maïto [Wed, 31 May 2017 02:19:08 +0000 (02:19 +0000)]
[USETUP] Diverse fixes for path handling.

- Convert almost all swprintf() into StringCchPrintfW() and wcscpy() into StringCchCopyW();
- Explicitly add a trailing path separator to the "\Device\HarddiskX\PartitionY(\)" paths
  when they refer to FS directories (and not to partition objects);
- Remove useless (and half-buggy) "Remove trailing backslash" code.

With that, it is possible to install ReactOS in e.g. C:\ReactOS (as usual), C:\ReactOS\dir1\dir2 (as many dirs as you wish), and also in C:\ (yes yes!).
But in that latter case, a strange bug related to the registry arises...

Additionally:
- Adjust some comments;
- Add some debugging DPRINTs;
- The SetInstallPathValue() is part of the big hack I've mentioned in f51faa4a (r74709).

svn path=/branches/setup_improvements/; revision=74717

11 months ago[USETUP] When installing new FreeLDR entries for recognized DOS/OS-2 boot loaders...
Hermès Bélusca-Maïto [Tue, 6 Jun 2017 23:44:56 +0000 (23:44 +0000)]
[USETUP] When installing new FreeLDR entries for recognized DOS/OS-2 boot loaders, use distinct OS section names. Also, add detection for the Dell Real-Mode Kernel OS (DRMK).

svn path=/branches/setup_improvements/; revision=74932

11 months ago[USETUP] Condense the different InstallFatXYBootSectorToDisk & ToFile functions into...
Hermès Bélusca-Maïto [Wed, 31 May 2017 02:03:10 +0000 (02:03 +0000)]
[USETUP] Condense the different InstallFatXYBootSectorToDisk & ToFile functions into a InstallFatXYBootSector() function that is called by both the ToDisk and ToFile flavours.

Also, trim any potential trailing path separator from the NT disk partition path before opening the partition object itself for read/write access.

svn path=/branches/setup_improvements/; revision=74715

11 months ago[USETUP] Move some functions around, but no functional code changes otherwise.
Hermès Bélusca-Maïto [Wed, 31 May 2017 01:47:39 +0000 (01:47 +0000)]
[USETUP] Move some functions around, but no functional code changes otherwise.

svn path=/branches/setup_improvements/; revision=74714

11 months ago[NETCFGX] Implement the Min and Max options for int, long and word parameters.
Eric Kohl [Sun, 14 Oct 2018 19:02:45 +0000 (21:02 +0200)]
[NETCFGX] Implement the Min and Max options for int, long and word parameters.

CORE-15095

11 months ago[NEWDEV] Add InstallDevInstEx
Eric Kohl [Sun, 14 Oct 2018 16:17:42 +0000 (18:17 +0200)]
[NEWDEV] Add InstallDevInstEx

11 months ago[MKHIVE] Return win32-like error codes for functions that expect to do so. Fix and...
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 15:10:04 +0000 (17:10 +0200)]
[MKHIVE] Return win32-like error codes for functions that expect to do so. Fix and comment out some unused ERROR_xxx/STATUS_xxx defines.

11 months ago[MKHIVE] Minor code formatting.
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 14:28:13 +0000 (16:28 +0200)]
[MKHIVE] Minor code formatting.

11 months ago[MKHIVE] Implement RegDeleteKeyW() and RegDeleteValueW().
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 13:31:12 +0000 (15:31 +0200)]
[MKHIVE] Implement RegDeleteKeyW() and RegDeleteValueW().

11 months ago[MKHIVE] Minor improvements.
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 13:26:30 +0000 (15:26 +0200)]
[MKHIVE] Minor improvements.

- Fix a bug in RegpCreateOrOpenKey() when we attempt to open an
  non-existing (sub-)key.
- Check failure of RegCreateKeyExW() in CreateSymLink().
- Remove unneeded includes.
- Update few comments.

11 months ago[MKHIVE] Simplify CmiAddValueKey() by using CmpAddValueToList().
Hermès Bélusca-Maïto [Sun, 14 Oct 2018 13:14:52 +0000 (15:14 +0200)]
[MKHIVE] Simplify CmiAddValueKey() by using CmpAddValueToList().