reactos.git
2 years ago[WIN32SS] Do not call DrvEnableDriver/DrvDisableDriver for LDEV_IMAGE types hpoussin-ldevobj-debug
Hervé Poussineau [Sun, 17 Apr 2022 11:52:10 +0000 (13:52 +0200)]
[WIN32SS] Do not call DrvEnableDriver/DrvDisableDriver for LDEV_IMAGE types

2 years agoEnable LDEVOBJ debug channel
Hervé Poussineau [Sun, 17 Apr 2022 10:53:34 +0000 (12:53 +0200)]
Enable LDEVOBJ debug channel

2 years ago[WIN32SS] Rewrite LDEVOBJ reference counting
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...

2 years ago[WIN32SS] Fix use of unitialized variable
Hervé Poussineau [Sun, 17 Apr 2022 06:08:12 +0000 (08:08 +0200)]
[WIN32SS] Fix use of unitialized variable

2 years ago[FREELDR:NTLDR] Rewrite RegInitCurrentControlSet() using CmpFindControlSet().
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.)

2 years ago[FREELDR:NTLDR] Use NTOS kernel's CMBOOT functions to enumerate and build the boot...
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.

2 years ago[BOOTDATA] Remove hackish entries that really caused the CDFS to be loaded twice...
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.

2 years ago[FREELDR:NTLDR] Adapt the registry code to access from outside the underlying HHIVE...
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).

2 years ago[NTUSER] Add 'Win:' comments to some functions (#4453)
Katayama Hirofumi MZ [Sat, 16 Apr 2022 21:53:37 +0000 (06:53 +0900)]
[NTUSER] Add 'Win:' comments to some functions (#4453)

2 years ago[NTOS:CM] Adapt cmboot.c for usage in NT/ReactOS bootloader.
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 **

2 years ago[SDK:CMLIB] Use Hive->Allocate / Hive->Free where possible.
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.

2 years ago[NVNET] Add driver for nForce-based NICs
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

2 years ago[HALXBOX] Do not claim interrupt resources for the KD COM port
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

2 years ago[DDK][PSDK] Add missing NDIS definitions for wake-up support
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

2 years ago[USER32] Add 'Win:' info to misc/imm.c (#4452)
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

2 years ago[Win32SS] Fix Build 2
James Tabor [Sat, 16 Apr 2022 00:30:59 +0000 (19:30 -0500)]
[Win32SS] Fix Build 2

Fix Build 2

2 years ago[Win32SS] Fix Build
James Tabor [Sat, 16 Apr 2022 00:27:50 +0000 (19:27 -0500)]
[Win32SS] Fix Build

Fix Build

2 years ago[ENG] Update Structure
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.

2 years ago[WIN32SS] Enable multidisplay driver when required
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.

2 years ago[WIN32SS] Implement EngQueryDeviceAttribute
Hervé Poussineau [Sun, 20 Mar 2022 17:05:36 +0000 (18:05 +0100)]
[WIN32SS] Implement EngQueryDeviceAttribute

2 years ago[WIN32SS] Handle Graphics acceleration level (registry key Acceleration.Level)
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)

2 years ago[WIN32SS] Remove now unused code
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.

2 years ago[WIN32SS] Implement PDEVOBJ_lChangeDisplaySettings to create initial MDEV
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

2 years ago[WIN32SS] Add functions related to MDEV (creation, destruction...)
Hervé Poussineau [Sun, 20 Mar 2022 14:45:19 +0000 (15:45 +0100)]
[WIN32SS] Add functions related to MDEV (creation, destruction...)

2 years ago[WIN32SS] Introduce the MDEVOBJ structure
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.

2 years ago[WIN32SS] Rewrite EngpCreatePDEV as PDEVOBJ_Create
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

2 years ago[WIN32SS] Add PDEVOBJ_vEnableDisplay and PDEVOBJ_bDisplayDisplay
Hervé Poussineau [Sun, 9 Jan 2022 10:33:38 +0000 (11:33 +0100)]
[WIN32SS] Add PDEVOBJ_vEnableDisplay and PDEVOBJ_bDisplayDisplay

Use them where appropriate.

2 years ago[WIN32SS] Rename PDEVOBJ_vSwitchPdev to PDEVOBJ_bDynamicModeChange
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.

2 years ago[WIN32SS] Improve PDEVOBJ_bEnablePDEV/PDEVOBJ_vRelease/PDEVOBJ_pSurface
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

2 years ago[WIN32SS] Remove useless parameter dwFlags in EngpFindGraphicsDevice()
Hervé Poussineau [Sun, 9 Jan 2022 10:06:04 +0000 (11:06 +0100)]
[WIN32SS] Remove useless parameter dwFlags in EngpFindGraphicsDevice()

2 years ago[WIN32SS] Preparation to load internal drivers (ie entry point in win32k)
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

2 years ago[WIN32SS] Remove useless prototype (function never existed)
Hervé Poussineau [Sun, 9 Jan 2022 09:47:11 +0000 (10:47 +0100)]
[WIN32SS] Remove useless prototype (function never existed)

2 years ago[WIN32SS] Rewrite PDEVOBJ_pdmMatchDevMode to LDEVOBJ_bProbeAndCaptureDevmode
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

2 years ago[WIN32SS] Extract devmode list query to new function LDEVOBJ_bBuildDevmodeList
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.

2 years ago[WIN32SS] Implement LDEVOBJ_ulGetDriverModes
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)

2 years ago[WIN32SS] Rename EngLoadDriverEx to LDEVOBJ_pLoadDriver
Hervé Poussineau [Sun, 9 Jan 2022 08:42:23 +0000 (09:42 +0100)]
[WIN32SS] Rename EngLoadDriverEx to LDEVOBJ_pLoadDriver

2 years ago[NTUSER][IMM32_APITEST] Associate HIMC to WND (#4451)
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

2 years ago[IMM32] Improve ImmLockClientImc (#4450)
Katayama Hirofumi MZ [Thu, 14 Apr 2022 05:10:19 +0000 (14:10 +0900)]
[IMM32] Improve ImmLockClientImc (#4450)

CORE-11700

2 years ago[IMM32] Add Win: comments more (#4449)
Katayama Hirofumi MZ [Thu, 14 Apr 2022 02:23:16 +0000 (11:23 +0900)]
[IMM32] Add Win: comments more (#4449)

CORE-11700

2 years ago[CMAKE] msvc.cmake: Enable C4090 warning as error
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

2 years ago[TASKMGR] Processes page: Add "Properties" and "Open File Location" context menu...
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>
2 years ago[MIDIMAP] MIDIMAP_modMessage(): Fix a MSVC amd64 C4133 warning
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

2 years ago[NTUSER] Dereference spDefaultImc at UserCreateInputContext (#4446)
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

2 years ago[NTUSER] Set error on NtUserCreateInputContext (#4444)
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

2 years ago[NTUSER] Simplify IntDestroyInputContext (#4443)
Katayama Hirofumi MZ [Sun, 10 Apr 2022 08:20:21 +0000 (17:20 +0900)]
[NTUSER] Simplify IntDestroyInputContext (#4443)

CORE-11700

2 years ago[NTUSER] Improve NtUserDestroyInputContext etc. (#4442)
Katayama Hirofumi MZ [Sun, 10 Apr 2022 03:27:38 +0000 (12:27 +0900)]
[NTUSER] Improve NtUserDestroyInputContext etc. (#4442)

CORE-11700

2 years ago[NTUSER][INCLUDE] Add IMC offset info (#4439)
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

2 years ago[WIN32K] Remove incorrect packing specification around _TL, _WIN32THREAD and _THREADI... 4440/head
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.

2 years ago[HALX86:ACPI] Use the correct PCH file for compilation. 4441/head
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'

2 years ago[IMM32] Many renamings and 'Win:' info (#4438)
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

2 years ago[BOOTDATA] Add two missing separating commas in the ServiceGroupOrder List multi...
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).

2 years ago[WINESYNC] Fail gracefully when unable to delete a file 4392/head
Mark Jansen [Sun, 13 Mar 2022 23:03:40 +0000 (00:03 +0100)]
[WINESYNC] Fail gracefully when unable to delete a file

2 years ago[SYSSETUP] Add new Env section to unattend.inf 4389/head
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

2 years ago[PSDK] Add more argument names 4386/head
Mark Jansen [Thu, 10 Mar 2022 22:01:49 +0000 (23:01 +0100)]
[PSDK] Add more argument names

2 years ago[SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM
Mark Jansen [Thu, 10 Mar 2022 22:00:32 +0000 (23:00 +0100)]
[SHELL32] Copy without FILE_ATTRIBUTE_READONLY from a CDROM

CORE-18089

2 years ago[MSVCRT_WINETEST] Mute _CRT_NON_CONFORMING_SWPRINTFS
Mark Jansen [Thu, 7 Apr 2022 22:30:36 +0000 (00:30 +0200)]
[MSVCRT_WINETEST] Mute _CRT_NON_CONFORMING_SWPRINTFS

2 years ago[DISKPART] Update Polish (pl-PL) translation (#4413)
Piotr Hetnarowicz [Fri, 8 Apr 2022 16:14:51 +0000 (18:14 +0200)]
[DISKPART] Update Polish (pl-PL) translation (#4413)

Addendum to 2ba6b09738b38bbf, and fd8dd586.

2 years ago[IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (#4436)
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

2 years ago[IMM32] Renaming: s/Imm32FreeImeDpi/Imm32UnloadIME/ (#4435)
Katayama Hirofumi MZ [Fri, 8 Apr 2022 10:50:41 +0000 (19:50 +0900)]
[IMM32] Renaming: s/Imm32FreeImeDpi/Imm32UnloadIME/ (#4435)

Improve debuggability. CORE-11700

2 years ago[IMM32] Renaming: s/g_pImeDpiList/gpImeDpiList/ (#4434)
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

2 years ago[IMM32] Renaming: s/g_csImeDpi/gcsImeDpi/ (#4433)
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

2 years ago[HALX86] Add support for parsing ACPI MADT tables 4409/head
Justin Miller [Sat, 26 Mar 2022 19:39:28 +0000 (12:39 -0700)]
[HALX86] Add support for parsing ACPI MADT tables

2 years ago[HALX86] Add a way to print the ProcessorTable data on bootup
Justin Miller [Sat, 26 Mar 2022 17:22:12 +0000 (10:22 -0700)]
[HALX86] Add a way to print the ProcessorTable data on bootup

2 years ago[HALX86] Implement HalpSetupProcessorsTable
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.

2 years ago[HALX86] Add function prototypes needed for parsing ACPI MADT table
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.

2 years ago[SDK] Fix some arm64 stuff that was discovered during testing 4402/head
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

2 years ago[XDK] Start define of xdk ke.h for arm64
Justin Miller [Mon, 13 Dec 2021 13:43:56 +0000 (05:43 -0800)]
[XDK] Start define of xdk ke.h for arm64

CORE-17518

2 years ago[IMM32] Add ctf.c for Cicero (#4430)
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

2 years ago[SHELL32] Remove horizontal scrollbar in File Types property page (#4412)
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>
2 years ago[SHELL32] Make Control Panel applets start in single instance (#4405) (#4405)
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>
2 years ago[BOOT:RTL] Fix AMD64 build. Addendum to 24cb57fde.
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.

2 years ago[FREELDR:NTLDR] Expose and use the CurrentControlSetKey handle.
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).

2 years ago[FREELDR:NTLDR] Improve NLS data loading.
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.

2 years ago[BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader...
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.

2 years ago[SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcas...
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().

2 years ago[SDK:NTOS_VISTA] Fix GCC AMD64 build. Addendum to commit 6f559e9c5. (#4426) 4426/head
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.

2 years ago[WINHTTP] Fix 1 MSVC x86 warning LNK4199 (#4414) CORE-18104
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

2 years ago[IMM32] Renaming: s/Imm32InitInstance/ImmInitializeGlobals/ (#4428)
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

2 years ago[NTUSER] Add 'Win:' comments to ime.c and window.c (#4427)
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

2 years ago[WIN32K:NTUSER] Remove broken assert in NtUserCreateWindowEx. CORE-18123
Thomas Faber [Mon, 4 Apr 2022 03:43:29 +0000 (23:43 -0400)]
[WIN32K:NTUSER] Remove broken assert in NtUserCreateWindowEx. CORE-18123

2 years ago[NTOS:EX] Only set WakeTimer-related status if timer handle is valid. CORE-18133
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.

2 years ago[RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked... 4406/head
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.

2 years ago[COMCTL32][COMDLG32] Fix Serbian (Latin) sublanguage identifiers
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.

2 years ago[TRANSLATION] Fix Croatian (hr-HR) sublanguage identifiers
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.

2 years ago[TRANSLATION] Update Croatian (hr-HR) translation (#4375)
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).

2 years ago[BOOT] Move boot-related commands from boot/CMakeLists.txt into a boot_images.cmake... 4407/head
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.

2 years ago[BOOTSECT] ISOBOOT: Add missing trailing 0x55AA sector signature.
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.

2 years ago[SDK:REACTOS][SVCHOST] Add/complete all missing definitions in the SVCHOST global... 4295/head
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.

2 years ago[CMAKE] msvc.cmake: Remove redundant '/Gy' (#4424)
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

2 years ago[TRANSLATION] Improve Simplified & Traditional Chinese translations (#4388)
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>
2 years ago[TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
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>
2 years ago[TRANSLATION] Update Hong Kong Chinese (zh-HK) translation - Part 2 (#4347)
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>
2 years ago[DISKPART] *.rc Reduce likelihood of translators messing with indentation (#4421)
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.

2 years ago[REGEDIT][ACCESS] Improve Portuguese (pt-PT) translation (#4326)
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

2 years ago[IMM32] Add more 'Win:' comments (#4423)
Katayama Hirofumi MZ [Thu, 31 Mar 2022 10:36:11 +0000 (19:36 +0900)]
[IMM32] Add more 'Win:' comments (#4423)

CORE-11700

2 years ago[IMM32] Renaming: s/ImmLockOrLoadImeDpi/Imm32FindOrLoadImeDpi/ (#4422)
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

2 years ago[IMM32] Renaming: worker functions (#4420)
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

2 years ago[IMM32] Renaming about IME layout (#4419)
Katayama Hirofumi MZ [Thu, 31 Mar 2022 04:52:16 +0000 (13:52 +0900)]
[IMM32] Renaming about IME layout (#4419)

CORE-11700

2 years ago[IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ (#4418)
Katayama Hirofumi MZ [Thu, 31 Mar 2022 01:00:06 +0000 (10:00 +0900)]
[IMM32] Renaming: s/g_SharedInfo/gSharedInfo/ (#4418)

CORE-11700

2 years ago[IMM32] Renaming: s/pImmHeap/ghImmHeap/ (#4416)
Katayama Hirofumi MZ [Thu, 31 Mar 2022 00:11:13 +0000 (09:11 +0900)]
[IMM32] Renaming: s/pImmHeap/ghImmHeap/ (#4416)

CORE-11700