Commit graph

73007 commits

Author SHA1 Message Date
Pierre Schweitzer
827ed4b146 [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
2018-10-20 17:27:53 +02:00
Mark Jansen
44898a4ea4
[NTVDM] Implement INT21, AX=4408, Determine if a block device is removable. 2018-10-20 00:14:44 +02:00
Mark Jansen
8543622a72
[GFLAGS] Implement imagefile options 2018-10-19 23:13:51 +02:00
Mark Jansen
ec621270a1
[GFLAGS] Move common code to a shared location. 2018-10-19 23:13:51 +02:00
Mark Jansen
bc3b356ae6
[GFLAGS] Move code around to handle multiple options 2018-10-19 23:13:38 +02:00
Arnav Bhatt
05c2e3e89e [USETUP][EXPLORER] ReactOS explorer translation and hindi font substitution. (#954) 2018-10-19 17:03:17 +02:00
Hermès Bélusca-Maïto
da019b0fc5
[MKHIVE] Fix some compilation warnings. 2018-10-19 00:25:19 +02:00
Hermès Bélusca-Maïto
bd9fa3d701
[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
2018-10-18 23:11:58 +02:00
Hermès Bélusca-Maïto
e723b9f4b4
[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
2018-10-18 23:11:55 +02:00
Hermès Bélusca-Maïto
473ca91166
[MKHIVE] Fix compilation warnings. 2018-10-15 00:37:08 +02:00
Hermès Bélusca-Maïto
a28461124b
[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
2018-10-14 23:46:52 +02:00
Hermès Bélusca-Maïto
e589513b46
[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
2018-10-14 23:45:45 +02:00
Hermès Bélusca-Maïto
c2f7758e96
[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
2018-10-14 23:37:44 +02:00
Hermès Bélusca-Maïto
27603a101c
[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
2018-10-14 23:27:17 +02:00
Hermès Bélusca-Maïto
57402ee91e
[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
2018-10-14 23:22:55 +02:00
Hermès Bélusca-Maïto
3cb1392eff
[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
2018-10-14 21:15:55 +02:00
Hermès Bélusca-Maïto
387e79c92e
[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
2018-10-14 21:15:34 +02:00
Hermès Bélusca-Maïto
f13a379153
[USETUP] Move some functions around, but no functional code changes otherwise.
svn path=/branches/setup_improvements/; revision=74714
2018-10-14 21:14:31 +02:00
Eric Kohl
debb1e521a [NETCFGX] Implement the Min and Max options for int, long and word parameters.
CORE-15095
2018-10-14 21:02:45 +02:00
Eric Kohl
731ef01361 [NEWDEV] Add InstallDevInstEx 2018-10-14 18:19:52 +02:00
Hermès Bélusca-Maïto
fc35f6eb4b
[MKHIVE] Return win32-like error codes for functions that expect to do so. Fix and comment out some unused ERROR_xxx/STATUS_xxx defines. 2018-10-14 17:10:04 +02:00
Hermès Bélusca-Maïto
8f82b00fa6
[MKHIVE] Minor code formatting. 2018-10-14 16:28:13 +02:00
Hermès Bélusca-Maïto
d91a47826e
[MKHIVE] Implement RegDeleteKeyW() and RegDeleteValueW(). 2018-10-14 15:59:57 +02:00
Hermès Bélusca-Maïto
6a44c10d5d
[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.
2018-10-14 15:59:54 +02:00
Hermès Bélusca-Maïto
ec3c61c233
[MKHIVE] Simplify CmiAddValueKey() by using CmpAddValueToList(). 2018-10-14 15:59:50 +02:00
Hermès Bélusca-Maïto
a965cf6e04
[MKHIVE] Sync a bit more of reginf.c with the corresponding setupapi code. 2018-10-14 15:59:46 +02:00
Hermès Bélusca-Maïto
81d435a181
[MKHIVE] Implement and use RegCloseKey(). 2018-10-14 15:59:41 +02:00
Hermès Bélusca-Maïto
4caf391324
[NTOS][MKHIVE] Minor code formatting. 2018-10-14 15:59:34 +02:00
Hermès Bélusca-Maïto
bf8a7d2db0
[CMLIB] Adjust parameter types and annotations. Add diagnostic assertions. 2018-10-14 15:59:31 +02:00
Katayama Hirofumi MZ
801b71b9bf [FONT][WIN32SS] Use ExFreePoolWithTag instead of ExFreePool (#941) 2018-10-14 09:47:52 +02:00
Pierre Schweitzer
3d13a464f7
[NTOSKRNL] Add the CcPinMappedDataCount counter 2018-10-13 22:51:44 +02:00
Pierre Schweitzer
1afcbbd125
[NTOSKRNL] Rewrite the way we create BCB for pinning
We won't reuse a BCB created for mapping, we will now have
our own dedicated BCB.
This allows having a bit more cleaner implementation of CcPinMappedData()
2018-10-13 22:51:44 +02:00
Mark Jansen
2d47c3be29
[CRT] spawn: define a unicode environment when needed
CORE-9182
2018-10-13 20:30:07 +02:00
Mark Jansen
80c53821c9
[SHELL32] CDefView: Query SFVM_DEFVIEWMODE before creating the list view.
CORE-14976
2018-10-13 20:28:49 +02:00
Hermès Bélusca-Maïto
8c0c90112e
[FASTFAT] Don't mess my debug log when partition SysType is printed! (when invalid chars are printed) 2018-10-13 19:57:24 +02:00
Hermès Bélusca-Maïto
47d539e6e0
[RTL] Make a RtlQueryEnvironmentVariable_U() DPRINT a little bit more useful. 2018-10-13 19:44:13 +02:00
Pierre Schweitzer
f3ea47d94d
[KMTESTS:CC] Add more tests for CcPinMappedData() 2018-10-13 19:24:29 +02:00
Eric Kohl
a5172b4699 [NETCFGX] Move the NetClassInstaller to a separate file. 2018-10-13 19:18:37 +02:00
Pierre Schweitzer
c467169708
[KMTESTS:CC] Properly check for memory allocations 2018-10-13 19:17:00 +02:00
Pierre Schweitzer
ce0650d37d
[KMTESTS:CC] Add more tests for CcPinMappedData() 2018-10-13 19:15:48 +02:00
Pierre Schweitzer
e3531499c2
[KMTESTS:CC] Add more tests for CcPinMappedData() 2018-10-13 19:13:07 +02:00
Pierre Schweitzer
991db73e37
[KMTESTS:CC] Add more tests for CcPinMappedData() 2018-10-13 18:53:08 +02:00
Pierre Schweitzer
45231fbbc5
[KMTESTS:CC] Add a test showing our CcPinMappedData() implementation is broken 2018-10-13 14:24:52 +02:00
Mark Jansen
ef202724d8
[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions 2018-10-12 19:30:36 +02:00
Mark Jansen
1968776bf2
[DBGHELP] Exclude stubs from pch 2018-10-12 19:30:36 +02:00
Mark Jansen
b494abbd72
[SDK] Add version option to our spec2def cmake command 2018-10-12 19:30:36 +02:00
Mark Jansen
4e3f76352a
[SDK] Add the WITH_RELAY option to msvc's spec2def command. (GCC already had it) 2018-10-12 19:30:35 +02:00
Mark Jansen
d564c7c8e3
[SPEC2DEF] Fix support for different OS versions. 2018-10-12 19:30:35 +02:00
Mark Jansen
71993fd8c9
[KERNEL32] Fix some stubs for 0x600+ 2018-10-12 19:30:24 +02:00
Serge Gautherie
a06b425839 [NTOS:KD] A few trivial code improvements 2018-10-12 08:43:02 +02:00