Commit graph

1684 commits

Author SHA1 Message Date
Max Korostil
c4181f534c
[SDBINST] Add remove Layers call 2021-05-08 14:24:21 +02:00
Max Korostil
dd34a8a731
[SDBINST] Update according to review
Replace macroses with unicode functions
Minor fixes
Replace dynamic allocations
Add GUID string validation

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Mark Jansen <mark.jansen@reactos.org>
2021-05-08 14:24:20 +02:00
Max Korostil
d4a9879583
[SDBINST] Add uninstall by guid and name 2021-05-08 14:24:20 +02:00
Max Korostil
7fd004e50b
[SDBINST] Add uninstall option 2021-05-08 14:24:20 +02:00
Max Korostil
4e4328ac8a
[SDBINST] Add sdbinst uility.
It can install sdb to the system
2021-05-08 14:24:20 +02:00
George Bișoc
9f3ed60ea4
[USETUP] Loop over MUI entries of the same ID
MUI entries can have the same ID pointed by TextID member of MUI_ENTRY structure. For this matter, altering a certain entry such as deleting a portion of text with MUIClearStyledText() only removes that portion of text when the given ID argument and the retrieved ID match.

However, MUIClearStyledText() only removes the first instance of text in the console leaving other entries with the same ID as is. Therefore we must ensure that we also iterate over other entries with the same ID as well. Besides the aforementioned function, do the same with MUIClearText(), MUISetText() and MUISetStyledText() too.
2021-05-05 19:30:53 +02:00
Hermès Bélusca-Maïto
cba0d64645
[SYSDM][USERINIT] Fix uninitialized variables warnings detected by Clang. (#3619)
CORE-17545

Addendum to commit d635ce0c.

- Move the HDC variables initialization via function calls, out of
  the variables declaration block.

- Fix warnings (and identical for base/system/userinit/livecd.c):

dll/cpl/sysdm/general.c:72:9: warning: variable 'hLogo' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
    if (hDC == NULL || hDCLogo == NULL || hDCMask == NULL)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dll/cpl/sysdm/general.c:130:9: note: uninitialized use occurs here
    if (hLogo != NULL) DeleteObject(hLogo);
        ^~~~~

and similar for hMask too:

dll/cpl/sysdm/general.c:129:9: note: uninitialized use occurs here
    if (hMask != NULL) DeleteObject(hMask);
        ^~~~~
2021-05-05 17:24:10 +02:00
Hermès Bélusca-Maïto
89860ab543
[SYSDM][USERINIT] Rewrite a if-condition in order to fail early, and save one level of code indentation. 2021-05-05 17:24:10 +02:00
Hermès Bélusca-Maïto
33c210da37
[USETUP] Fix letter encoding in translation. (#3619)
CORE-17545

Fix Clang warning:

base/setup/usetup/lang/de-DE.h:1099:24: warning: illegal character encoding in string literal [-Winvalid-source-encoding]
        "die Partition <E4>ndern, die derzeit als aktiv markiert ist.",
                       ^~~~
2021-05-05 17:23:57 +02:00
Mas Ahmad Muhammad
fd4d8f550c [TRANSLATION] indonesian add and update apps/shell translation 2021-05-05 11:34:28 +02:00
Katayama Hirofumi MZ
7b27e7c4ff
[CMDUTILS][FC] Implement FC wildcard handling (#3640)
Implement wildcard handling on FC (file comparison) command. And fix the bugs on zero-sized files. CORE-17500
2021-05-05 12:23:16 +09:00
Katayama Hirofumi MZ
d2c47132ad
[CMDUTILS][FC] Implement text file comparison (#3625)
Implement text file comparison by using file mappings (both Unicode and ANSI). CORE-17500
2021-05-04 18:05:57 +09:00
Jérôme Gardou
d0bb775774 [NOTEPAD] Fix resource file
VIRTKEY can't be preceded with ^
and is useless anyway
2021-05-03 22:00:57 +02:00
Katayama Hirofumi MZ
91dc5eac7d [FC] Fix typo s/IDS_RESYNCH_/IDS_RESYNC_/ s/Resynch/Resync/
CORE-17500
2021-04-29 16:59:20 +09:00
Jérôme Gardou
e470b58376 [REACTOS] Explicitly link against pseh & include pseh headers in a few places 2021-04-28 13:10:23 +02:00
Jérôme Gardou
97858f3c87 [REGEDIT] Fix declaration of DbgPrint 2021-04-28 13:10:23 +02:00
Stanislav Motylkov
ea1f724928
[FC] Add Russian (ru-RU) translation
Addendum to 2db87ebd.
2021-04-27 18:40:23 +03:00
Katayama Hirofumi MZ
c3adff41b4 [CMDUTILS][FC] Forgot to add a line break to IDS_RESYNCH_FAILED
CORE-17500
2021-04-27 18:45:24 +09:00
Piotr Hetnarowicz
622c226e2e
[FC] Add the Polish translation (#3629) 2021-04-27 11:20:56 +02:00
Katayama Hirofumi MZ
2db87ebde3
[FC][TRANSLATION] FC: Enable localization (#3626)
Enable localization on FC (file comparison) command. CORE-17500
2021-04-26 09:08:06 +09:00
Katayama Hirofumi MZ
9404bac5ee [CMDUTILS][FC] Follow-up of #3622 (8bf4711)
CORE-17500
2021-04-26 08:52:22 +09:00
Stanislav Motylkov
eff05c34b7
[USETUP] Update Russian (ru-RU) translation
Addendum to 3ee9535e. CORE-17523
2021-04-26 02:06:14 +03:00
Stanislav Motylkov
58a3928571
[WINLOGON] Update Russian (ru-RU) translation
Addendum to 7ca90b50, 9a6d4bf0, ec2bfa2e and 5f033392.
2021-04-25 20:22:45 +03:00
Katayama Hirofumi MZ
8bf471105e
[CMDUTILS][FC] Initial implement FC command (#3622)
Implement FC (file comparison) command. As a starting point, we support binary mode comparison at first. Text mode comparison and wildcard are not supported yet. CORE-17500
2021-04-25 13:06:13 +09:00
alexpavlovic
db269c85e6
[TRANSLATION][CACLS] Add Serbian translation (#859) 2021-04-24 20:38:20 +02:00
Serge Gautherie
db416e3914 [REACTOS] InitImageList(): Fix error checks
And simplify code a bit.
2021-04-24 20:35:48 +02:00
Eric Kohl
0f27609813 [UMPNPMGR] Fix DPRINT in PNP_GetDeviceStatus() 2021-04-24 17:06:08 +02:00
Eric Kohl
b24f463a33 [UMPNPMGR] Start the device in SetupDeviceInstance 2021-04-24 17:04:11 +02:00
Eric Kohl
d5b20cb118 [UMPNPMGR] Implement PNP_SetDeviceProblem
CORE-17527
2021-04-24 11:59:22 +02:00
George Bișoc
c0c431b0ee
[TRANSLATION][WINLOGON] Small Romanian & Italian translation update
Small translation update as per the pushed 5f03339 commit.
2021-04-22 18:12:22 +02:00
Hervé Poussineau
1ff3d1c395 [DHCPCSVC] Change automatic address assignment to use hardware address
According to RFC 3927, the pseudo-random number generation algorithm MUST be chosen
so that different hosts do not generate the same sequence of numbers, and that the
pseudo-random number generator SHOULD be seeded using a value derived from the
IEEE 802 MAC address, so that a host will usually select the same IPv4 Link-Local
address each time it is booted.
2021-04-20 18:28:36 +02:00
Serge Gautherie
0dedb9b474
[WINLOGON][MPR][SDK] WNetClearConnections: Fix function parameter type (#3480)
Addendum to 62f79fae93.

Signed-off-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2021-04-18 21:58:44 +03:00
Arnav Bhatt
5f03339239
[WINLOGON] Show "Restarting..." message when restarting (#3593)
Signed-off-by: Arnav Bhatt <arnavbhatt288@gmail.com>
2021-04-18 21:48:30 +03:00
George Bișoc
0e3fce082e
[TRANSLATION][RAPPS] Fix the unrecognised escape sequence in the Hungarian translation
This is an addendum to ea04edc. The author has forgotten the newline escape sequence, whoops...
2021-04-15 17:23:25 +02:00
Tibor Lajos Füzi
ea04edce2d [TRANSLATION] Add/update Hungarian translation for solitaire, spider solitaire, rapps, usetup, cpl/timedate, shell32, user32 2021-04-14 16:16:24 +02:00
Chan Chilung
6b700c6af1
[TRANSLATION] Chinese Traditional (zh-TW) translation update (#3526)
*Add Chinese Traditional translation for:
- [THEMES]
- [HIVESFT]
- [HIVEDEF]
- [HIVECLS]
- [SCREENSAVERS]
- [VGAFONTEDIT]
- [KERNEL32]
- [TASKLIST]
- [MYDOCS]
- [MSXML3R]
- INFs

*Chinese Traditional translation update for:
PR 3399
- [MSGINA]
- [SHELL32]

PR 3422
- [SOLITAIRE]

Others...

*Wine translation sync
2021-04-11 10:59:19 +02:00
Jose Carlos Jesus
415e93ae13
[CHKDSK][USERINIT] Add and improve Portuguese (pt-PT) translation (#3553) 2021-04-11 10:40:58 +03:00
Serge Gautherie
d3fc345730 [CMD] de-DE: Fix 'Paramater' typo 2021-04-11 09:30:28 +03:00
Serge Gautherie
0236666968 [UMANDLG] DlgProc(): Fix 'paramater' typo, in documentation 2021-04-11 09:30:28 +03:00
George Bișoc
aea948a79e [OSK] Handle the warning dialog box in its own thread
The dialog box at the startup of On-Screen Keyboard is displayed alongside with main window. While the Microsoft's OSK in XP is written in MFC and OSK is actually a mere window whereas our OSK is a dialog, the main dialog procedure call is superseded until the user does something with the warning dialog box on startup.

Just create a thread for it and handle the dialog box on startup in its own thread.
2021-04-10 10:05:08 +02:00
Victor Perevertkin
74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
George Bișoc
3ee9535e05
[USETUP] Display some contents in the page whilst installing the bootloader (#3559)
CORE-17523
2021-04-07 10:11:07 +02:00
Serge Gautherie
28dadda8be [CMAKE] Properly generate all Bison and Flex files at build time
This fully reverts 09c4d0a.

Addendum to 5375e33.
CORE-15991
2021-04-03 21:50:08 +03:00
Mark Jansen
97a23a5f3d
[SERVICES] Fix booting with DPH enabled
RegSetValueExW tries to read one extra character after the buffer,
to see if a REG_SZ is null terminated
2021-04-03 01:54:57 +02:00
Mark Jansen
5028c3adec
[UMPNPMGR] Fix remaining length calculation 2021-04-03 01:43:48 +02:00
Katayama Hirofumi MZ
bebdfda8b7
[NOTEPAD][WORDPAD][MSPAINT]... Use newer file open dialog (#3571)
Use new-style file open/save-as dialog.
- Add OFN_EXPLORER flag to OPENFILENAME structure in notepad, wordpad, mspaint, clipbrd, mmc, mplay32, mscutils, regedit, winhlp32, progman, shellbtrfs, cryptui, shell32, setupapi, vgafontedit, infinst, and vfdlib modules.
2021-04-01 22:50:32 +09:00
Serge Gautherie
4cd92f0d01
[SYSSETUP][TIMEDATE] Use exact setTimer() timeouts, to stay in sync (#3355)
CORE-13121
2021-03-21 12:01:22 +09:00
Victor Perevertkin
16173c0798
[UMPNPMGR] Fix GCC build
Addendum to 420c4a7abf
2021-03-19 09:14:05 +03:00
Victor Perevertkin
420c4a7abf
[UMPNPMGR] Install drivers for all devices available on boot
Don't wait for their events to appear, just retrieve the list and
install drivers. This fixes the installation of manually reported device
nodes

CORE-17212 CORE-17398
2021-03-19 08:59:42 +03:00
Victor Perevertkin
abbc5ba45a
[UMPNPMGR][USETUP] Use PlugPlayControlStartDevice in usetup and umpnpmgr
Instead of PlugPlayControlResetDevice, PlugPlayControlStartDevice should
be used for a newly installed device.
For usetup, add a device status check before starting attempt, so we're
not touching devices which are already started.

CORE-17463 CORE-17490
2021-03-16 03:17:58 +03:00
Victor Perevertkin
029accdcf7
[NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Katayama Hirofumi MZ
9259ded8ae
[ATL][SHELL32][EXPLORER] Disable ATLASSERT (#3527)
We are not ready for enabling ATLASSERT. Enabling ATL assertions takes time to realize. CORE-17505
- Disable ATLASSERT by undefining _DEBUG.
- Revert currently non-fixable codes.
2021-03-11 20:26:45 +09:00
Mark Jansen
1952e5b795
Fix some assertions now that they are enabled (#3524)
Fix some assertions, hack out some others (they need more ATL work).
CORE-17505
2021-03-11 07:43:06 +09:00
Katayama Hirofumi MZ
98203cea23
[CMAKE] Define _DEBUG for better ATL debugging (Retry) (#3519)
CORE-17505
2021-03-10 22:59:13 +09:00
Chan Chilung
6a31fe6ca7
[TRANSLATION][INF] Update Chinese Traditional (zh-TW) translation (#3468)
- Add / improve Chinese Traditional Translations for INFs.

- Name changing (removed Aobi in my name)

Add Chinese Traditional translation for:
- cmdutils/at
- cmdutils/comp
- hotplug.cpl
- rosapps' sysutils/ctm

Chinese Traditional (zh-TW) translation update for:
- cmdutils/find
- cmdutils/help
- cmdutils/label
- cmdutils/whoami
- mspaint
- shutdown
- taskmgr
- diskpart
- format
- appwiz.cpl
- input.cpl
- powercfg.cpl
- shimgvw
- user32
2021-03-09 16:51:37 +01:00
Victor Perevertkin
fc2b105e5d
[CMAKE] Use remove_target_compile_option when disabling manually enabled warnings 2021-03-03 06:04:25 +03:00
Piotr Hetnarowicz
fa0c63bc48
[SOLITAIRE] Update Polish [pl-PL] translation (#3496) 2021-03-02 19:10:26 +01:00
Tibor Lajos Füzi
9dff498b21
[SOLITAIRE] Add undo feature & fix occasionally invisible cards (#3422)
Two issues are addressed:

CORE-2189: missing undo feature

Works the same way as solitaire in windows xp:
- only 1 action can be undone;
- the player gets -2 points in standard score mode;
- the undo action resets when the player clicks on a row stack to turn the top card.

CORE-11148: invisible cards

This happens in 3-card mode, when only 1 card left in the deck. The fix for this is to modify the pile stack to contain all the face-up cards. It was actually already in the code somewhere else, so I turned it into a separate function.
2021-02-28 22:31:19 +01:00
Eric Kohl
95188553ba [WKSSVC] Get version info and authentication package on startup 2021-02-27 19:07:47 +01:00
He Yang
633ece9025
[TASKLIST] Implement tasklist command-line utility (#3440)
Add command-line program "tasklist" for ReactOS.
It works fine on Windows as well.
2021-02-24 19:05:15 +09:00
George Bișoc
950f78635a
[USETUP] Display the "check the FS" section as a MUI page (#3474) 2021-02-22 16:48:03 +01:00
George Bișoc
b00ecdcab9
Replace my E-mail with the ReactOS org one (#3475)
From now on for ReactOS related contributions only the organization e-mail shall be used and also reverse the order of my real full name.
2021-02-22 18:26:55 +03:00
Hervé Poussineau
796a536a22 Revert "Disable some C++ code, which doesn't compile for me"
This reverts commit 83d9920cb9.
2021-02-16 00:13:18 +01:00
Hervé Poussineau
83d9920cb9 Disable some C++ code, which doesn't compile for me 2021-02-16 00:12:25 +01:00
Eric Kohl
87a4624e20 [WKSSVC][NETAPI32] Implement NetrWkstaGetInfo and get rid of the old NetWkstaGetInfo implementation 2021-02-13 23:19:29 +01:00
Robert Naumann
b774ec5ca6 [NOTEPAD] Implement File->New Window
*Windows starts a new own's instance too, when clicking on "New Window" (Tested by @HBelusca)
2021-02-12 20:14:03 +01:00
Piotr Hetnarowicz
61f4b120fc
rapps pl-PL lang update (#3454)
rapps pl-PL lang update
2021-02-12 19:42:52 +09:00
Aobi Chan CL
3692b5ff25
[TRANSLATION] Chinese Traditional (zh-TW) translation improvement (#3430)
- CACLS, FONTSUB, NOTEPAD, SOLITAIRE, VCDCONTROLTOOL, WORDPAD: Update Chinese Traditional translation.
- CALC, PING, SYSTEMINFO Add Chinese Traditional translation.
- PING, SYSTEMINFO: Update zh-TW.rc to make it less Windows like (maybe).
- WRITE, WINFILE: Translation sync to Wine.

+ Update media/doc/For_Chinese_Translation.txt
2021-02-07 22:14:19 +01:00
Eric Kohl
560b66a2d5 [NET] Remove the NAME, PRINT and SEND options because we will most likely never have a messenger service 2021-02-07 13:45:25 +01:00
Serge Gautherie
32f7474f38
[SETUPLIB] Fix 'unlock' copypasta in debug print (#3448)
Addendum to 76ac898.
2021-02-05 16:10:15 +03:00
Jérôme Gardou
76ac898bc5 [SETUPLIB] Lock the volume before writing MBR boot code 2021-02-03 09:41:22 +01:00
Hermès Bélusca-Maïto
3405cab9dd
[USETUP] Only check whether the system partition is of recognized type and if not, install FreeLdr on floppy/removable media. 2021-02-01 01:48:15 +01:00
Hermès Bélusca-Maïto
74c0a37e2f
[SETUPLIB][REACTOS][USETUP] Move partition types information to its dedicated file; update MBR partition types and add GPT GUID partition types. 2021-02-01 01:48:14 +01:00
Hermès Bélusca-Maïto
8f61f5c004
[USETUP] Add partition and disk description helpers to get standardized description strings. Replace and simplify USETUP code. 2021-02-01 01:48:10 +01:00
Victor Perevertkin
6f389a35db
[SETUPLIB] Add a workaround for installing from USB drives 2021-01-27 05:15:15 +03:00
Reinhart Previano Koentjoro
9c8ed68544
[CMD] Improve Indonesian (id-ID) translation (#3417) 2021-01-12 13:14:08 +03:00
Stanislav Motylkov
f77f5a30cf
[RAPPS] Fix pinned certificate issuer check 2021-01-11 19:16:16 +03:00
Mas Ahmad Muhammad
4ca7926093
[TRANSLATION] Fix format for Indonesian translation (#3418)
- USETUP: Fix alignment on translation.
- SHELL32: Update and fix translation.
2021-01-07 18:47:10 +01:00
Joachim Henze
ab45955a5a [CMD] Consume only one line for the version header CORE-17420
Necessary because our version string got longer during 0.4.15-dev'ing.
We added the target platform.
2021-01-06 01:34:54 +01:00
Hermès Bélusca-Maïto
68182b2a52
[USETUP] Partial revert of 8b94515b for the ESCAPE key in the UpgradeRepairPage() screen.
The AsciiChar of the ESCAPE key should be 0x1B instead of zero; however
this is not the case due to the hacked keyboard layout currently being
used. This will be fixed later ...
2021-01-04 16:13:28 +01:00
Victor Perevertkin
e12233daf6
[USETUP] Do not put ImagePath to the service registry entry
It is supposed to be there already
2021-01-04 16:50:33 +03:00
Hermès Bélusca-Maïto
0abff65a55
[USETUP] Minor improvements when initializing the console.
- Use NT values for uninitialized handle values.
- Cache the STD_INPUT_HANDLE.
- Free the console if GetConsoleScreenBufferInfo() fails in CONSOLE_Init().
2021-01-03 00:27:54 +01:00
Hermès Bélusca-Maïto
8b94515bd3
[USETUP] Fix handling of the ESCAPE key.
Its AsciiChar is not zero in Console-compatible code.
2021-01-03 00:27:50 +01:00
George Bișoc
c11d342f42
[OSK] Adjust the resource size, width and heigh properties of buttons (#3403)
For French (fr-FR) and French Canadian (fr-CA) translations.

CORE-17039
2020-12-31 01:48:34 +03:00
Tibor Lajos Füzi
82f0061ddc
[TRANSLATION] Hungarian (hu-HU) translation update (#3388)
For mspaint, notepad, wordpad, cmd, cmdutils/help, appwiz, devmgr, newdev

Co-authored-by: Stanislav Motylkov <x86corez@gmail.com>
2020-12-31 01:42:34 +03:00
Stanislav Motylkov
740beb65e6
[DXDIAG] If ProcessorNameString not found, fall back to Identifier
It also should have its own routine for detecting CPU name, add a comment.
Windows XP and 2003 does have CPU name strings in dxdiagn.dll.

CORE-17413
2020-12-30 19:38:26 +03:00
Jérôme Gardou
6fcd9f3184 [FTP] Always link agains oldnames 2020-12-28 12:13:30 +01:00
Hermès Bélusca-Maïto
e8c9a73bb8
[USETUP] Free allocated memory after loading the new text-mode font from the .CAB file. 2020-12-27 00:51:56 +01:00
Jérôme Gardou
b805a7dd50 [UMANDLG] Define Globals variable in only one translation unit 2020-12-22 13:15:01 +01:00
Eric Kohl
94f01f5b64 [WINLOGON] Add hidden logon/logoff SFC notification 2020-12-21 20:42:40 +01:00
Oleg Dubinskiy
9de8787187
[REGEDIT] Display search finished messagebox when using Find Next (F3) menu item (#3371)
This repeats behaviour of Windows Regedit. CORE-17368
2020-12-21 20:48:52 +03:00
Victor Perevertkin
ff13301eb2
[UMPNPMGR] Set the data type in all cases of PNP_GetDeviceRegProp
CORE-14187
2020-12-06 19:48:38 +03:00
Victor Perevertkin
dd56e065bc
[REACTOS] Enable PnP storage stack
- Use PnP storage class drivers
- Make partmgr an upper filter driver for Disk class
- Fill upper filters in txtsetup and usetup/devinst
- Add cdrom driver to the critical device database

CORE-6264
2020-12-05 22:30:43 +03:00
Hervé Poussineau
b483be4af2 [UMPNPMGR] Remove invalid prototype of inline function
This fixes eede1b9b7a.
2020-12-01 18:51:42 +01:00
Stanislav Motylkov
5cb9f8765b
[SMSS] Revert commit 131bc73
This is now fixed properly by de16ef3.
2020-11-26 13:06:20 +03:00
Stanislav Motylkov
131bc73555
[SMSS] Fix x64 build. Addendum to a0721eb
This part is specific for x86 architecture.
2020-11-26 03:50:16 +03:00
Hermès Bélusca-Maïto
a0721ebdd3
[SMSS] Use the new IsNEC_98 macro defined for user-mode. 2020-11-26 00:29:34 +01:00
Hermès Bélusca-Maïto
a59cecd89d
[SETUPLIB] Add two hacks in partlist.c for temporarily setting consistently the disk partition style.
Add two hacks in UpdateDiskLayout() and WritePartitions() so that the
disk partition style is consistently set to a known value MBR, especially
when that disk was previously new and uninitialized (RAW).
A proper fix will be developed later when support for GPT is added.
2020-11-24 04:37:52 +01:00
Hermès Bélusca-Maïto
05cd77028c
[SETUPLIB][USETUP] Cleanup some code in USETUP. Redefine FormatPartition() and ChkdskPartition() helpers
so that they wrap the needed init steps for formatting/chkdsk'ing.

These helpers now accept a PPARTENTRY, together with the usual
formatting/chkdsk parameters. The helpers now determine the actual
NT path to use, and can perform the init steps on the partition
before performing the actual operation.

In particular, FormatPartition() is now made GPT-compliant. The
partition type retrieved by FileSystemToMBRPartitionType() is now
used as a hint for choosing FAT32 over FAT12/16, and only in the
case of a MBR partition that is *NOT* a recognized OEM partition,
it is used for updating the corresponding partition type. (OEM
partitions must retain their original type.)

The OEM partition types we (and NT) can recognize are specified
e.g. in the Microsoft Open-Specification [MS-DMRP] Appendix B
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-dmrp/5f5043a3-9e6d-40cc-a05b-1a4a3617df32

Introduce an IsOEMPartition() macro to help checking for these types
(its name is based on the Is***Partition() macros from ntdddisk.h,
and from a dmdskmgr.dll export of similar name).
2020-11-24 03:24:41 +01:00
Hermès Bélusca-Maïto
9735a8379f
[SETUPLIB] Make InferFileSystem() compatible for both MBR and GPT disks. Simplify the FSREC interface a bit.
Instead of providing an MBR partition type to InferFileSystem(), make
it call IOCTL_DISK_GET_PARTITION_INFO(_EX) to determine whether the
partition pointed by the path/handle is MBR or GPT. Then, only if it's
MBR, we retrieve its partition type in order to "guess" an adequate file
system name, in case the latter was not recognized already via regular
ways (via GetFileSystemName() / NtQueryVolumeInformationFile()).

- Remove the GetFileSystemNameByHandle() and InferFileSystemByHandle()
  functions. Instead, make the other GetFileSystemName*() and
  InferFileSystem*() functions accept a HANDLE as an alternative to the
  already-existing partition path string. These parameters are exclusive
  to each other.

- Rename SetPartitionType() -> SetMBRPartitionType(),
  and FileSystemToPartitionType() -> FileSystemToMBRPartitionType()
  in order to really clarify what they do (since this code is meant
  for MBR partitions only, not GPT ones).
2020-11-24 03:24:36 +01:00