Hervé Poussineau [Sun, 17 Apr 2022 11:52:10 +0000 (13:52 +0200)]
[WIN32SS] Do not call DrvEnableDriver/DrvDisableDriver for LDEV_IMAGE types
Hervé Poussineau [Sun, 17 Apr 2022 10:53:34 +0000 (12:53 +0200)]
Enable LDEVOBJ debug channel
Hervé Poussineau [Sun, 9 Jan 2022 08:42:23 +0000 (09:42 +0100)]
[WIN32SS] Rewrite LDEVOBJ reference counting
- introduce LDEVOBJ_vDisableDriver (reversal of LDEVOBJ_bEnableDriver)
- introduce LDEVOBJ_bUnloadImage (reversal of LDEVOBJ_pLoadDriver)
- introduce LDEVOBJ_vDereference, to remove a reference to a LDEVOBJ
Also:
- correctly handle success to unload the image, by removing it from pldev list
- correctly handle failure to unload the image, by re-enabling the driver
- simplify EngUnloadImage, as a wrapper around LDEVOBJ_vDereference
- move LDEVOBJ_ulGetDriverModes lower to prevent forward declaration of
LDEVOBJ_vDereference
Unfortunately, disable driver unloading as long as ntoskrnl can't reload
a driver it just unloaded...
Hervé Poussineau [Sun, 17 Apr 2022 06:08:12 +0000 (08:08 +0200)]
[WIN32SS] Fix use of unitialized variable
Hermès Bélusca-Maïto [Sat, 2 Apr 2022 01:26:46 +0000 (03:26 +0200)]
[FREELDR:NTLDR] Rewrite RegInitCurrentControlSet() using CmpFindControlSet().
Also remove useless "success" traces at the end of some registry functions.
(Only show when they enter and when they fail.)
Hermès Bélusca-Maïto [Tue, 22 Mar 2022 03:14:35 +0000 (04:14 +0100)]
[FREELDR:NTLDR] Use NTOS kernel's CMBOOT functions to enumerate and build the boot-time driver list.
They are correct and are more performant.
- Rewrite WinLdrAddDriverToList() on the model of CmpAddDriverToList()
with support for CmpIsDriverInList().
- Disable RegEnumKey() as it is now unused.
Hermès Bélusca-Maïto [Thu, 31 Mar 2022 00:11:52 +0000 (02:11 +0200)]
[BOOTDATA] Remove hackish entries that really caused the CDFS to be loaded twice in the LiveCD.
They date back from commit
a880f2ee (r9611), and were the root cause for
the bug that was tentatively fixed by commit
81a9ce44e (PR #755).
On Windows, boot file system drivers have either the SERVICE_DEMAND_START
or the SERVICE_DISABLED start type, and only the filesystem to access the
boot media is manually loaded by the OS loader (other FSes that are needed
later are loaded by the FSRecognizer).
Also there is no need to disable NTFS anymore.
Hermès Bélusca-Maïto [Tue, 22 Mar 2022 03:16:22 +0000 (04:16 +0100)]
[FREELDR:NTLDR] Adapt the registry code to access from outside the underlying HHIVE and HCELL_INDEX (needed for cmboot).
Katayama Hirofumi MZ [Sat, 16 Apr 2022 21:53:37 +0000 (06:53 +0900)]
[NTUSER] Add 'Win:' comments to some functions (#4453)
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 22:16:19 +0000 (23:16 +0100)]
[NTOS:CM] Adapt cmboot.c for usage in NT/ReactOS bootloader.
- Add a new cmboot.h header to isolate the boot-support definitions
shared with the NT/ReactOS bootloader.
- Move CmpFreeDriverList() to cmboot.c so that we can use it for
cleanup paths in the NT/ReactOS bootloader.
- CmpFindControlSet(): Directly build the control set name in UNICODE,
instead of doing an ANSI->UNICODE conversion.
- Directly assign the CurrentControlSet\Services constant string,
instead of going the route of init-empty-string + append-string.
This is possible since that string is not modified later.
- Remove ASSERT(FALSE), replacing them with correct failure handling.
- Add cleanup paths in CmpAddDriverToList().
- Simplify and fix CmpFreeDriverList(): it's the full DriverNode
that needs to be freed; not the LIST_ENTRY pointer.
- Add other validity checks:
* Registry value types and data sizes;
* For multi-strings, verify that they are NULL-terminated.
* For (multi-)strings, check whether they are NULL-terminated before
optionally removing their trailing NULL character from the count.
Check also whether they are of zero-length and take appropriate
action where necessary.
- Add CmpIsDriverInList() for future usage in CMBOOT compiled in
bootloader mode.
- Add SAL annotations and Doxygen documentation.
- Add debug traces.
- Formatting / code style fixes.
** TODO: Fix SafeBoot support **
Hermès Bélusca-Maïto [Sun, 27 Mar 2022 16:44:53 +0000 (18:44 +0200)]
[SDK:CMLIB] Use Hive->Allocate / Hive->Free where possible.
Dmitry Borisov [Sat, 24 Jul 2021 18:53:39 +0000 (00:53 +0600)]
[NVNET] Add driver for nForce-based NICs
The driver supports all nVidia chipset models from 2001 until 2010, starting from nForce.
All NICs are compatible with x86 and amd64 devices only.
Tested by Daniel Reimer on OG Xbox and by me on MCP board.
CORE-15872 CORE-16216
Dmitry Borisov [Sat, 24 Jul 2021 18:49:51 +0000 (00:49 +0600)]
[HALXBOX] Do not claim interrupt resources for the KD COM port
The actual COM port lacks SERIRQ, IRQ 4 is hardwired to the NIC
CORE-15872 CORE-16216
Dmitry Borisov [Tue, 12 Apr 2022 17:04:20 +0000 (23:04 +0600)]
[DDK][PSDK] Add missing NDIS definitions for wake-up support
CORE-15872
Katayama Hirofumi MZ [Sat, 16 Apr 2022 05:34:06 +0000 (14:34 +0900)]
[USER32] Add 'Win:' info to misc/imm.c (#4452)
- Add many Win: comments to misc/imm.c.
- Rename GetImmFileName as User32GetImmFileName.
- Rename bImmInitializing as gbImmInitializing.
- Rename gnImmUnknownFlag1 as gfConIme.
- Formating UpdatePerUserImmEnabling code.
CORE-11700
James Tabor [Sat, 16 Apr 2022 00:30:59 +0000 (19:30 -0500)]
[Win32SS] Fix Build 2
Fix Build 2
James Tabor [Sat, 16 Apr 2022 00:27:50 +0000 (19:27 -0500)]
[Win32SS] Fix Build
Fix Build
James Tabor [Sat, 16 Apr 2022 00:19:54 +0000 (19:19 -0500)]
[ENG] Update Structure
Update GRAPHICS_DEVICE monitor count and video monitor device pointer.
Update dwAccelerationLeve comments.
Updated for printer support.
Hervé Poussineau [Sun, 20 Mar 2022 17:12:11 +0000 (18:12 +0100)]
[WIN32SS] Enable multidisplay driver when required
For now, it is only a stub which returns an error.
Hervé Poussineau [Sun, 20 Mar 2022 17:05:36 +0000 (18:05 +0100)]
[WIN32SS] Implement EngQueryDeviceAttribute
Hervé Poussineau [Sun, 20 Mar 2022 17:03:43 +0000 (18:03 +0100)]
[WIN32SS] Handle Graphics acceleration level (registry key Acceleration.Level)
- store the acceleration level in PDEVOBJ
- when searching a pdev, search a pdev with required acceleration level
- disable some functions when not at full acceleration level
(levels 3 and 5 are not implemented)
Hervé Poussineau [Sun, 20 Mar 2022 16:56:23 +0000 (17:56 +0100)]
[WIN32SS] Remove now unused code
Initialization of device mode list will be done later, just before switching to graphics mode.
If no graphic display is available, we will now fail when starting first GUI application in
co_IntGraphicsCheck(). Add a bugcheck here to prevent frozen screen.
Hervé Poussineau [Sun, 20 Mar 2022 16:38:16 +0000 (17:38 +0100)]
[WIN32SS] Implement PDEVOBJ_lChangeDisplaySettings to create initial MDEV
This function can create a MDEV for the whole display (maybe containing multiple
PDEVs), or update settings of a specific PDEV.
- call PDEVOBJ_lChangeDisplaySettings when switching to graphics mode.
- modify EngpGetPDEV to search requested PDEV only in current MDEV
Hervé Poussineau [Sun, 20 Mar 2022 14:45:19 +0000 (15:45 +0100)]
[WIN32SS] Add functions related to MDEV (creation, destruction...)
Hervé Poussineau [Sun, 20 Mar 2022 14:38:20 +0000 (15:38 +0100)]
[WIN32SS] Introduce the MDEVOBJ structure
This will be used (later) to store the list of all enabled display devices.
Add a global variable gpmdev (should really be stored in DISPLAYINFO structure)
Replace global variable gppdevPrimary by pmdev->ppdevGlobal.
Hervé Poussineau [Sun, 20 Mar 2022 14:05:12 +0000 (15:05 +0100)]
[WIN32SS] Rewrite EngpCreatePDEV as PDEVOBJ_Create
- change first argument to be a PGRAPHICS_DEVICE instead of a device name
- add ldevtype (for now, only LDEV_DEVICE_DISPLAY is allowed)
- always pass a devmode if ldevtype is LDEV_DEVICE_DISPLAY
- insert the ppdev into gppdevList on success
- change callers to adapt them to new rules
Hervé Poussineau [Sun, 9 Jan 2022 10:33:38 +0000 (11:33 +0100)]
[WIN32SS] Add PDEVOBJ_vEnableDisplay and PDEVOBJ_bDisplayDisplay
Use them where appropriate.
Hervé Poussineau [Sun, 9 Jan 2022 10:26:59 +0000 (11:26 +0100)]
[WIN32SS] Rename PDEVOBJ_vSwitchPdev to PDEVOBJ_bDynamicModeChange
Even if it currently always succeeds, let it return a boolean for later.
Hervé Poussineau [Sun, 9 Jan 2022 10:18:18 +0000 (11:18 +0100)]
[WIN32SS] Improve PDEVOBJ_bEnablePDEV/PDEVOBJ_vRelease/PDEVOBJ_pSurface
- use debug channels
- handle a NULL ppdev->pGraphicsDevice
- unreference graphic driver when needed
Hervé Poussineau [Sun, 9 Jan 2022 10:06:04 +0000 (11:06 +0100)]
[WIN32SS] Remove useless parameter dwFlags in EngpFindGraphicsDevice()
Hervé Poussineau [Sun, 9 Jan 2022 10:02:27 +0000 (11:02 +0100)]
[WIN32SS] Preparation to load internal drivers (ie entry point in win32k)
- Change LDEVOBJ_bEnableDriver to directly take the entry point
(pGdiDriverInfo not required anymore)
- Add LDEVOBJ_pLoadInternal to load and start an internal driver
Hervé Poussineau [Sun, 9 Jan 2022 09:47:11 +0000 (10:47 +0100)]
[WIN32SS] Remove useless prototype (function never existed)
Hervé Poussineau [Sun, 9 Jan 2022 09:44:53 +0000 (10:44 +0100)]
[WIN32SS] Rewrite PDEVOBJ_pdmMatchDevMode to LDEVOBJ_bProbeAndCaptureDevmode
- make it return a new allocated PDEVMODEW instead of a pointer into
existing PGRAPHICS_DEVICE (usefull when available display modes can
dynamically change: VirtualBox, RDP, ...)
- update all callers
Hervé Poussineau [Sun, 9 Jan 2022 09:33:10 +0000 (10:33 +0100)]
[WIN32SS] Extract devmode list query to new function LDEVOBJ_bBuildDevmodeList
LDEVOBJ_bBuildDevmodeList() only queries the available display modes, without
choosing the one to use on the graphic device, and without immediately
creating a PDEV.
Replace first part of EngpPopulateDeviceModeList() function by a call
to this new function LDEVOBJ_bBuildDevmodeList().
Keep second part of EngpPopulateDeviceModeList() function, which
chooses the default display mode.
Hervé Poussineau [Sun, 9 Jan 2022 08:54:53 +0000 (09:54 +0100)]
[WIN32SS] Implement LDEVOBJ_ulGetDriverModes
- implement LDEVOBJ_ulGetDriverModes (which get modes from a not yet loaded driver),
and use it in EngpPopulateDeviceModeList
- remove now useless LDEVOBJ_pdmiGetModes (replaced by LDEVOBJ_ulGetDriverModes)
Hervé Poussineau [Sun, 9 Jan 2022 08:42:23 +0000 (09:42 +0100)]
[WIN32SS] Rename EngLoadDriverEx to LDEVOBJ_pLoadDriver
Katayama Hirofumi MZ [Fri, 15 Apr 2022 04:16:50 +0000 (13:16 +0900)]
[NTUSER][IMM32_APITEST] Associate HIMC to WND (#4451)
- Set the default input context to WND at IntCreateWindow function.
- Add more tests to the himc testcase of imm32_apitest.
CORE-11700
Katayama Hirofumi MZ [Thu, 14 Apr 2022 05:10:19 +0000 (14:10 +0900)]
[IMM32] Improve ImmLockClientImc (#4450)
CORE-11700
Katayama Hirofumi MZ [Thu, 14 Apr 2022 02:23:16 +0000 (11:23 +0900)]
[IMM32] Add Win: comments more (#4449)
CORE-11700
Serge Gautherie [Mon, 11 Apr 2022 19:07:19 +0000 (21:07 +0200)]
[CMAKE] msvc.cmake: Enable C4090 warning as error
C4090: different 'modifier' qualifiers
Follow-up to
42d2d5e (0.4.14-dev-847) and
41bc57d (0.4.15-dev-2952),
which silenced affected modules.
CORE-7538
Thamatip Chitpong [Mon, 11 Apr 2022 16:28:28 +0000 (23:28 +0700)]
[TASKMGR] Processes page: Add "Properties" and "Open File Location" context menu items (#4323)
Signed-off-by: Thamatip Chitpong <tangaming123456@outlook.com>
Reviewed-by: Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Serge Gautherie [Thu, 12 Nov 2020 00:22:46 +0000 (01:22 +0100)]
[MIDIMAP] MIDIMAP_modMessage(): Fix a MSVC amd64 C4133 warning
MSVC amd64
'...\dll\win32\winmm\midimap\midimap.c(474): warning C4133: 'function': incompatible types - from 'LPDWORD' to 'DWORD_PTR *''
Import missed parts of
https://source.winehq.org/git/wine.git/commit/
29b00e1a8c2d06573027278de53b8f7698a1039d
Addendum to
b40e7f0 (r47900).
CORE-7538
Katayama Hirofumi MZ [Mon, 11 Apr 2022 01:53:36 +0000 (10:53 +0900)]
[NTUSER] Dereference spDefaultImc at UserCreateInputContext (#4446)
Dereference pti->spDefaultImc by UserDereferenceObject if pti->spDefaultImc is NULL at UserCreateInputContext function. CORE-11700
Katayama Hirofumi MZ [Sun, 10 Apr 2022 10:26:19 +0000 (19:26 +0900)]
[NTUSER] Set error on NtUserCreateInputContext (#4444)
Set the error code correctly on NtUserCreateInputContext.
CORE-11700
Katayama Hirofumi MZ [Sun, 10 Apr 2022 08:20:21 +0000 (17:20 +0900)]
[NTUSER] Simplify IntDestroyInputContext (#4443)
CORE-11700
Katayama Hirofumi MZ [Sun, 10 Apr 2022 03:27:38 +0000 (12:27 +0900)]
[NTUSER] Improve NtUserDestroyInputContext etc. (#4442)
CORE-11700
Katayama Hirofumi MZ [Sat, 9 Apr 2022 22:27:30 +0000 (07:27 +0900)]
[NTUSER][INCLUDE] Add IMC offset info (#4439)
Add C_ASSERT assertions on the offsets of the members of IMC structure. CORE-11700
Hermès Bélusca-Maïto [Sat, 9 Apr 2022 15:51:08 +0000 (17:51 +0200)]
[WIN32K] Remove incorrect packing specification around _TL, _WIN32THREAD and _THREADINFO structures.
CORE-18140
This was introduced historically in commit
583de66b3 (r7460) to
workaround some compiler problems (or replace already existing
GCC-specific __attribute__((packed)) annotations); however these
structures are in-memory-only, do not describe any on-disk data
format and don't describe hardware-specific data. So they should
have the "natural" alignment of the target platform.
They also have to match the documented layouts at:
https://reactos.org/wiki/Techwiki:Win32k/THREADINFO
https://www.geoffchappell.com/studies/windows/km/win32k/structs/threadinfo/index.htm
at least for the compatible parts that ReactOS shares.
Hermès Bélusca-Maïto [Sat, 9 Apr 2022 18:18:03 +0000 (20:18 +0200)]
[HALX86:ACPI] Use the correct PCH file for compilation.
This also removes the following warnings, that were present because,
as the ACPICA acpi.h header was used as PCH (instead of none, or the
hal's own main header), it was "included" before any other header
-- and in particular, before hal.h -- and as a result, colliding defines
were still defined even if the #undef tricks were used for them.
rosbuilds\sdk\include\reactos\mc\bugcodes.h(1417): warning C4005: 'ACPI_BIOS_ERROR': macro redefinition
reactos\drivers\bus\acpi\acpica\include\acoutput.h(243): note: see previous definition of 'ACPI_BIOS_ERROR'
reactos\hal\halx86\include\hal.h(41): warning C4109: unexpected identifier '_read'
reactos\hal\halx86\include\hal.h(42): warning C4109: unexpected identifier '_read'
Katayama Hirofumi MZ [Sat, 9 Apr 2022 01:41:39 +0000 (10:41 +0900)]
[IMM32] Many renamings and 'Win:' info (#4438)
- Add many Win: comments.
- s/Imm32UnloadIME/Imm32FreeIME/
- s/Imm32LoadImeInfo/Imm32LoadIME/
- s/g_hImm32Inst/ghImm32Inst/
- s/Imm32AllocAndBuildHimcList/Imm32BuildHimcList/
- s/Imm32SelectLayout/Imm32SelectInputContext/
CORE-11700
Hermès Bélusca-Maïto [Sat, 9 Apr 2022 00:51:20 +0000 (02:51 +0200)]
[BOOTDATA] Add two missing separating commas in the ServiceGroupOrder List multi-string.
Typos introduced in commit
4d1ea554c.
These had the effect of enumerating "NetworkProviderRemoteValidation"
and "Extended BasePCI Configuration" as groups, which were of course
invalid/non-existent.
The actual groups are: "NetworkProvider", "RemoteValidation",
"Extended Base", and "PCI Configuration".
Fixing this may correct the loading order of drivers that belong to
these groups (if we do have such drivers).
Mark Jansen [Sun, 13 Mar 2022 23:03:40 +0000 (00:03 +0100)]
[WINESYNC] Fail gracefully when unable to delete a file
Mark Jansen [Sat, 12 Mar 2022 14:10:05 +0000 (15:10 +0100)]
[SYSSETUP] Add new Env section to unattend.inf
This allows to add environment variables during unattended setup
Mark Jansen [Thu, 10 Mar 2022 22:01:49 +0000 (23:01 +0100)]
[PSDK] Add more argument names
Mark Jansen [Thu, 10 Mar 2022 22:00:32 +0000 (23:00 +0100)]
[SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM
CORE-18089
Mark Jansen [Thu, 7 Apr 2022 22:30:36 +0000 (00:30 +0200)]
[MSVCRT_WINETEST] Mute _CRT_NON_CONFORMING_SWPRINTFS
Piotr Hetnarowicz [Fri, 8 Apr 2022 16:14:51 +0000 (18:14 +0200)]
[DISKPART] Update Polish (pl-PL) translation (#4413)
Addendum to
2ba6b097,
38b38bbf, and
fd8dd586.
Katayama Hirofumi MZ [Fri, 8 Apr 2022 13:23:30 +0000 (22:23 +0900)]
[IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (#4436)
- Fix & Rename: s/Imm32InitContext/Imm32CreateInputContext/ (Win: IMM32!CreateInputContext).
- Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (Win: IMM32!InternalImmLockIMC).
- Add CtfImmTIMCreateInputContext stub.
CORE-11700
Katayama Hirofumi MZ [Fri, 8 Apr 2022 10:50:41 +0000 (19:50 +0900)]
[IMM32] Renaming: s/Imm32FreeImeDpi/Imm32UnloadIME/ (#4435)
Improve debuggability. CORE-11700
Katayama Hirofumi MZ [Fri, 8 Apr 2022 10:02:08 +0000 (19:02 +0900)]
[IMM32] Renaming: s/g_pImeDpiList/gpImeDpiList/ (#4434)
Improve debuggability. CORE-11700
Katayama Hirofumi MZ [Fri, 8 Apr 2022 09:21:54 +0000 (18:21 +0900)]
[IMM32] Renaming: s/g_csImeDpi/gcsImeDpi/ (#4433)
Improve debuggability. CORE-11700
Justin Miller [Sat, 26 Mar 2022 19:39:28 +0000 (12:39 -0700)]
[HALX86] Add support for parsing ACPI MADT tables
Justin Miller [Sat, 26 Mar 2022 17:22:12 +0000 (10:22 -0700)]
[HALX86] Add a way to print the ProcessorTable data on bootup
Justin Miller [Sat, 26 Mar 2022 17:01:21 +0000 (10:01 -0700)]
[HALX86] Implement HalpSetupProcessorsTable
Add a helper function for getting a pointer to the PRCB of every processor
in the system and assign it to the PROCESSOR_IDENTITY struct.
Justin Miller [Thu, 24 Jun 2021 16:57:19 +0000 (09:57 -0700)]
[HALX86] Add function prototypes needed for parsing ACPI MADT table
- Use ACPICA headers to gather the information.
- Add PROCESSOR_IDENTITY structure that will be used by all APIC HALs.
Justin Miller [Mon, 13 Dec 2021 13:16:45 +0000 (05:16 -0800)]
[SDK] Fix some arm64 stuff that was discovered during testing
Addendum to
6dfc13e4. CORE-17518
Justin Miller [Mon, 13 Dec 2021 13:43:56 +0000 (05:43 -0800)]
[XDK] Start define of xdk ke.h for arm64
CORE-17518
Katayama Hirofumi MZ [Thu, 7 Apr 2022 13:55:33 +0000 (22:55 +0900)]
[IMM32] Add ctf.c for Cicero (#4430)
Preparing of Cicero (modern input method) support.
- Add ctf.c and add some CTF functions.
- Modify the IMM table.
- Modify imm32.spec.
- Rename: s/Imm32FreeImeStates/Imm32DestroyImeModeSaver/.
- Improve Imm32DestroyInputContext.
CORE-11700
Jose Carlos Jesus [Thu, 7 Apr 2022 13:10:50 +0000 (14:10 +0100)]
[SHELL32] Remove horizontal scrollbar in File Types property page (#4412)
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Raymond Czerny [Thu, 7 Apr 2022 12:58:13 +0000 (14:58 +0200)]
[SHELL32] Make Control Panel applets start in single instance (#4405) (#4405)
In MS Windows all control panel applets are started in single instance.
This prevents conflicts of concurrent accesses to the configuration data.
Before starting applets, look up the dialog window of the existing instance
by checking several atoms, such as the applet path, CPLName, and CPLFlags.
If the dialog is found, it's brought to the foreground, and a new applet
instance not started.
CORE-7921 CORE-17025
Signed-off-by: Raymond Czerny <chip@raymisoft.de>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Joachim Henze <joachim.henze@reactos.org>
Reviewed-by: Mark Jansen <mark.jansen@reactos.org>
Hermès Bélusca-Maïto [Thu, 7 Apr 2022 02:20:53 +0000 (04:20 +0200)]
[BOOT:RTL] Fix AMD64 build. Addendum to
24cb57fde.
Turns out, that rtl/amd64/rtlmem.S doesn't currently compile fine with
ML64, and it wasn't included for compilation anyways in the original RTL.
So, just remove it from there as well.
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 22:07:50 +0000 (23:07 +0100)]
[FREELDR:NTLDR] Expose and use the CurrentControlSetKey handle.
This allows: (i) to shorten dramatically the lengths of the static
registry path strings being used (and thus, allow for reduced binary
file size), and (ii) to prepare future support for selecting different
control sets (and related Last-Known-Good configurations).
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 22:01:22 +0000 (23:01 +0100)]
[FREELDR:NTLDR] Improve NLS data loading.
- Use UNICODE_STRINGs wherever possible.
- Retrieve the OEMHAL font file name. TODO: Load it!
- In WinLdrLoadNLSData(), don't open/close each file twice (and showing
we are loading them twice). Instead, open all files at once (and keep
them that way), retrieve their sizes and do the calculations, then
load their respective contents one by one -- giving loading feedback
only at that point -- and finally close all of them at once.
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 20:06:52 +0000 (21:06 +0100)]
[BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader...
... as it should have always been done (and must be done for NTDLL
and NTOS kernel as well). This allows using the RTL with the correct
definitions and the reduced functionality available at boot-time.
+ Make the RTL main header compatible.
In addition, this will permit re-using existing code that already
uses the RTL (mostly string conversions).
See commits
427c90af3 (r36761) and
b46e8cc18 (r36980) for some
background.
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 20:06:07 +0000 (21:06 +0100)]
[SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN().
Hermès Bélusca-Maïto [Mon, 4 Apr 2022 20:00:42 +0000 (22:00 +0200)]
[SDK:NTOS_VISTA] Fix GCC AMD64 build. Addendum to commit
6f559e9c5. (#4426)
Instead of adding the rtl_vista library to the target, manually add
the related source files to compilation. That's not the best, but
this should definitively fix the linking problem.
Joachim Henze [Wed, 6 Apr 2022 22:36:52 +0000 (00:36 +0200)]
[WINHTTP] Fix 1 MSVC x86 warning LNK4199 (#4414) CORE-18104
Fixes
Creating library dll\win32\winhttp\winhttp.lib and object dll\win32\winhttp\winhttp.exp
LINK : warning LNK4199: /DELAYLOAD:ole32.dll ignored; no imports found from ole32.dll
which I could observe all the way from releases/0.4.7 up to releases/0.4.14
with MSVC 2010SP1 (16.0.40219.1) x86 target in dbg configuration
Katayama Hirofumi MZ [Wed, 6 Apr 2022 06:44:27 +0000 (15:44 +0900)]
[IMM32] Renaming: s/Imm32InitInstance/ImmInitializeGlobals/ (#4428)
- Rename Imm32InitInstance as ImmInitializeGlobals.
- Add Win: comments.
CORE-11700
Katayama Hirofumi MZ [Wed, 6 Apr 2022 04:11:57 +0000 (13:11 +0900)]
[NTUSER] Add 'Win:' comments to ime.c and window.c (#4427)
- Add 'Win:' comments to clarify the Windows-side function names.
CORE-11700
Thomas Faber [Mon, 4 Apr 2022 03:43:29 +0000 (23:43 -0400)]
[WIN32K:NTUSER] Remove broken assert in NtUserCreateWindowEx. CORE-18123
Thomas Faber [Mon, 4 Apr 2022 00:10:37 +0000 (20:10 -0400)]
[NTOS:EX] Only set WakeTimer-related status if timer handle is valid. CORE-18133
Since STATUS_TIMER_RESUME_IGNORED is a success status, we would
otherwise go into the success case with a NULL Timer object pointer.
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 00:14:28 +0000 (01:14 +0100)]
[RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead.
The reason is that both RtlUTF8ToUnicodeN() and RtlUnicodeToUTF8N() are
exported in both kernel and user-mode (ntdll) in Windows 7+.
Conversion from and to UTF8 are fundamental enough that they indeed
deserve to be in a separate file.
Stanislav Motylkov [Sat, 2 Apr 2022 20:36:28 +0000 (23:36 +0300)]
[COMCTL32][COMDLG32] Fix Serbian (Latin) sublanguage identifiers
Should really fix MSVC build. Addendum to
64c87aab.
Stanislav Motylkov [Sat, 2 Apr 2022 19:54:19 +0000 (22:54 +0300)]
[TRANSLATION] Fix Croatian (hr-HR) sublanguage identifiers
Should fix MSVC build. Addendum to
4644e5b7.
Andrej Bartulin [Sat, 2 Apr 2022 17:32:28 +0000 (19:32 +0200)]
[TRANSLATION] Update Croatian (hr-HR) translation (#4375)
- [COMCTL32] Fix Croatian (hr-HR) MessageBox mnemonics
- [SYSSETUP] Add Croatian (hr-HR) translation
2nd stage of setup translated to Croatian and hotkey fix in MessageBox
("Napijed" and "Nazad" share the same keyboard mnemonic, Alt+N).
Hermès Bélusca-Maïto [Mon, 21 Mar 2022 01:45:34 +0000 (02:45 +0100)]
[BOOT] Move boot-related commands from boot/CMakeLists.txt into a boot_images.cmake sub-file. (#4407)
This allows the CMakeLists.txt file to be less cluttered by unrelated stuff.
Hermès Bélusca-Maïto [Fri, 1 Apr 2022 02:47:22 +0000 (04:47 +0200)]
[BOOTSECT] ISOBOOT: Add missing trailing 0x55AA sector signature.
Hermès Bélusca-Maïto [Mon, 17 Jan 2022 00:01:57 +0000 (01:01 +0100)]
[SDK:REACTOS][SVCHOST] Add/complete all missing definitions in the SVCHOST global header. (#4295)
Following commit
24a727a23, give a lift to the SVCHOST global header
and add & complete all the missing definitions.
- Based on https://www.geoffchappell.com/studies/windows/win32/services/svchost/process/globaldata.htm
from public debug symbols (e.g. svchost, mswsock, w32time, wscsvc...),
adjust some of our symbols' names.
- Make the header C++-compatible.
- Even if the start/stop RPC server functions return an error code whose
underlying storage type is a 32-bit long, they don't return an RPC
status error code, but an NT status. Thus, use the adequate type
instead.
- The PSVCHOST_STOP_CALLBACK is nothing but a WAITORTIMERCALLBACK function.
- Take the opportunity to fix some of these functions' SAL annotations.
- Remark: "LP" for pointers is old-fashioned Windows, avoid this in NT code.
[MSWSOCK][SECLOGON] Do the minor adjustments. Remove unnecessary function casts.
Joachim Henze [Thu, 31 Mar 2022 19:18:26 +0000 (21:18 +0200)]
[CMAKE] msvc.cmake: Remove redundant '/Gy' (#4424)
* [CMAKE] msvc.cmake: Remove redundant '/Gy'
Function-level-Linking '/Gy' is already enabled unconditionally
at line 26. So no need to enable it here another time.
Makes the differences between the multiple OPTIMIZE-levels more obvious.
* [CMAKE] msvc.cmake: Fix typo in comment
Luke Luo [Thu, 31 Mar 2022 17:38:52 +0000 (01:38 +0800)]
[TRANSLATION] Improve Simplified & Traditional Chinese translations (#4388)
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Wu Haotian [Thu, 31 Mar 2022 17:30:52 +0000 (01:30 +0800)]
[TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
Reviewed all Chinese Simplified translation files and updated those
inappropriate or outdated ones.
Co-authored-by: Liu Wenyuan <15816141883@163.com>
Reviewed-by: Chan Chilung <eason066@gmail.com>
Reviewed-by: He Yang <1160386205@qq.com>
Reviewed-by: Zheng Jianping <robsean@126.com>
Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Chan Chilung [Thu, 31 Mar 2022 14:10:21 +0000 (22:10 +0800)]
[TRANSLATION] Update Hong Kong Chinese (zh-HK) translation - Part 2 (#4347)
- Added zh-HK translation for following files:
- [BASE/SERVICES/W32TIME]
- [BASE/SYSTEM/...] (except CMD console only applications)
- [FDEBUG]
- [DLL/CPL/...] (except Wine related applications)
- [DLL/SHELLEXT/...]
- [DLL/WIN32/...] (not all applications are translated, and Wine related applications are excluded from this part)
- [MODULES/ROSAPPS/APPLICATIONS/...] (not all applications are translated)
- [SCREENSAVERS]
- [NTVDM]
- [USERSRV]
- Translation Improvement
- Fix header for zh-TW and zh-HK translation files
Reviewed-by: Luo Yufan <njlyf2011@hotmail.com>
Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
Joachim Henze [Thu, 31 Mar 2022 13:57:59 +0000 (15:57 +0200)]
[DISKPART] *.rc Reduce likelihood of translators messing with indentation (#4421)
Colons in the neighbor-lines must be aligned to each other. It is easier for translators to respect this
in their translation if all strings start at the same column in their editor.
Jose Carlos Jesus [Thu, 31 Mar 2022 12:58:13 +0000 (13:58 +0100)]
[REGEDIT][ACCESS] Improve Portuguese (pt-PT) translation (#4326)
- [REGEDIT] Update pt-PT translation and adjust objects
- [ACCESS] Improve pt-PT translation
- [ACCESS] Adjust object position for better appearance
Katayama Hirofumi MZ [Thu, 31 Mar 2022 10:36:11 +0000 (19:36 +0900)]
[IMM32] Add more 'Win:' comments (#4423)
CORE-11700
Katayama Hirofumi MZ [Thu, 31 Mar 2022 10:35:31 +0000 (19:35 +0900)]
[IMM32] Renaming: s/ImmLockOrLoadImeDpi/Imm32FindOrLoadImeDpi/ (#4422)
- Rename ImmLockOrLoadImeDpi as Imm32FindOrLoadImeDpi.
- Imm32FindOrLoadImeDpi --> Win: FindOrLoadImeDpi.
CORE-11700
Katayama Hirofumi MZ [Thu, 31 Mar 2022 05:34:08 +0000 (14:34 +0900)]
[IMM32] Renaming: worker functions (#4420)
Renaming: s/Imm32SetCompositionStringAW/ImmSetCompositionStringAW
Renaming: s/Imm32GetImeMenuItemsAW/ImmGetImeMenuItemsAW/
Renaming: s/Imm32RequestMessageAW/ImmRequestMessageAW/
CORE-11700
Katayama Hirofumi MZ [Thu, 31 Mar 2022 04:52:16 +0000 (13:52 +0900)]
[IMM32] Renaming about IME layout (#4419)
CORE-11700
Katayama Hirofumi MZ [Thu, 31 Mar 2022 01:00:06 +0000 (10:00 +0900)]
[IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ (#4418)
CORE-11700
Katayama Hirofumi MZ [Thu, 31 Mar 2022 00:11:13 +0000 (09:11 +0900)]
[IMM32] Renaming: s/pImmHeap/ghImmHeap/ (#4416)
CORE-11700