Commit graph

81255 commits

Author SHA1 Message Date
Eric Kohl f4982e547d [ADVAPI32][SECLOGON] Start the implementation of CreateProcessWithLogonW 2022-02-21 16:38:29 +01:00
Eric Kohl eb0830a1d6 [RUNAS] Load user profile by default 2022-02-21 16:26:35 +01:00
Eric Kohl d4b947aa9b [RUNAS] Pass the current directory to CreateProcessWithLogonW and handle errors 2022-02-21 11:12:50 +01:00
Hermès Bélusca-Maïto 38cbe5acc3
[FREELDR] Update documentation following timeout and UI style work. 2022-02-21 02:54:06 +01:00
Hermès Bélusca-Maïto 63833c769f
[FREELDR] Update existing FREELDR.INI documentation. 2022-02-21 02:54:05 +01:00
Hermès Bélusca-Maïto ea4cfcfa12
[BOOTDATA][SETUPLIB] Don't hardcode FreeLdr's UI defaults in the freeldr.ini files.
This includes:
- the default TimeText;
- the default colors.

They can however be changed by the user at one's convenience, by
explicitly specifying different values.
2022-02-21 02:54:04 +01:00
Hermès Bélusca-Maïto d215039216
[FREELDR:UI] Improve setting UI colors/strings ("theme") defaults.
Now, default UI colors/strings (e.g. titles/timeout text) that are
dependent of the UI "theme" (mini vs. full TUI) are set first when
calling their corresponding Initialize() function.
Then, the user UI settings are read from the user's freeldr.ini file
and override the UI theme defaults.

These settings get effectively applied at the first drawing operation
(usually the UiFadeInBackdrop() call done by the main UiInitialize()
function).
For "directui" we don't care about the settings -- they are hardcoded.

This allows not having to specify the default settings in the
freeldr.ini files anymore.

+ Add support for "None" UiBackdropFillStyle: fill with whitespace,
  instead of the specific patterns.
2022-02-21 02:54:03 +01:00
Hermès Bélusca-Maïto 44ed4fb001
[FREELDR:UI] TuiUpdateDateTime(): Simplify building the date/time strings. 2022-02-21 02:54:02 +01:00
Hermès Bélusca-Maïto 3599c835f6
[FREELDR:UI] Improve menu timeout drawing.
Fixes CORE-13827, where the timer countdown would otherwise display
incorrectly if there were no trailing spaces after the timer string.
Now, the countdown is always appended with one space separator after
the end of the string, **or**, it is inserted at a specific place
delimited by a %d insertion point in the string.

Also, don't repaint the date & time (in full-UI mode) many times per
second -- instead of only once per second -- while displaying a menu.
2022-02-21 02:54:01 +01:00
Hermès Bélusca-Maïto ee32f9b86e
[FREELDR:UI] Isolate TuiDrawBox() top/bottom horizontal lines drawing into their own helpers. 2022-02-21 02:54:00 +01:00
Hermès Bélusca-Maïto 622a90522d
[FREELDR:UI] Fix the painting ordering of menu elements. 2022-02-21 02:53:59 +01:00
Hermès Bélusca-Maïto 5239a0ca4d
[FREELDR:UI] Improve how menu line separators are drawn.
When the menu is not boxed, do not draw the specific "T"-shaped box
corners for the separators.
2022-02-21 02:53:58 +01:00
Hermès Bélusca-Maïto c322610f6e
[FREELDR] Improve progress bar support, adapted from Inbv.
- Improve accuracy/progression smoothness when loading drivers.
- Allow changing text and percentage independently.
2022-02-21 02:53:54 +01:00
Eric Kohl c14440ee57 [RUNAS] Add password input and improve help text
Now it works on windows xp and 10.
2022-02-19 19:50:46 +01:00
Oleg Dubinskiy 9ab5d3afb2
[WIN32SS][NTGDI] Remove useless assert (#4370) CORE-17561
Remove useless ASSERT(FALSE); in IntGdiCreateDisplayDC, because it actually does not check anything useful. It only asserts each time when the function is called from DxEngCreateMemoryDC by MS DirectDraw stack (ddraw.dll & dxg.sys).
UNIMPLEMENTED debug print is enough a lot to see that this function is not implemented properly.
CORE-17561
2022-02-18 22:00:57 +01:00
Hermès Bélusca-Maïto 81943afb7b
[FREELDR:NTLDR] Slightly rework how KD transport DLLs are loaded.
A Kernel Debugger Transport DLL is always loaded for Windows XP+ :
either the standard KDCOM.DLL (by default), or an alternative
user-provided one via the /DEBUGPORT= option. If this alternative
does not exist or fails to be loaded, fall back to the standard
KDCOM.DLL.

If no KD dll is loaded, kernel loading would fail because of the
resulting unsatisfied KDCOM dll import (tested on Windows and ReactOS).

+ Normalize kernel, HAL and KD dll file names to lowercase (needed for
  case-sensitive installations).
2022-02-18 20:24:51 +01:00
Hermès Bélusca-Maïto 2221df213f
[FREELDR] Add cleanup in PE-image-handling-related failure code paths. 2022-02-18 20:24:49 +01:00
Hermès Bélusca-Maïto 15e1489c7f
[FREELDR:NTLDR] Add some error handling for LoadModule().
Based on PR #4294 by Serge Gautherie.

Co-authored-by: Serge Gautherie <reactos-git_serge_171003@gautherie.fr>
2022-02-18 20:24:48 +01:00
Hermès Bélusca-Maïto 1a920d9a7e
[FREELDR:NTLDR] Shorten KdTransportDllName --> KdDllName. 2022-02-18 20:24:47 +01:00
Thomas Faber b72efb6ca8
[CRT] Fix some inconsistent annotations in CRT headers.
This fixes about 5000 VS analysis warnings.
2022-02-17 22:01:37 -05:00
Thomas Faber f5c5426924
[USBPORT] Fix incorrect use of bitfields.
EndpointMoved == TRUE could never be true, because BOOL is a signed type,
and the only two values in a signed one-bit type are 0 and -1.

Courtesy of VS analysis warning C6299:
Explicitly comparing a bit field to a Boolean type will yield unexpected results.
2022-02-17 22:01:34 -05:00
Mark Jansen fd28a69de6
[WIN32SS] Store the scrollbar theming enabled flag in the scrollbar
This ensure we do not rely on usermode for always passing this flag in,
which is a ReactOS specific flag.
Thanks to Doug Lyons for finding the source of the problem.
CORE-17780
2022-02-16 18:43:32 +01:00
Andrej Bartulin 7bfc35c366
[README] Add Discord server join link (#4352) 2022-02-16 19:04:44 +03:00
Alex Miccolis 9b71653918
[SHELL32] Stop SHELL_execute from always executing files (#4363)
CORE-18038
Add a check (PathIsExeW) to SHELL_execute to prevent it from executing non-exe files.
2022-02-16 00:54:20 +01:00
Robert Naumann d64ab28b5f
[USER32] Use UINT as parameter for DrawText() (#4357)
Import Wine Commit 0ba1bfb0624d5e95f15499d6cfc9af1910c7c5be by Marcus
Meissner: user32: DrawText gets a 32bit flag, not a 16bit flag.

Fixes CORE-17315 - spottted by I_Kill_Bugs
2022-02-16 00:50:51 +01:00
Hermès Bélusca-Maïto a7e3584065
[FREELDR:UI] Cleanup for the DrawMenu* functions.
- Remove duplicated code from directui.c and use the one from
  TUI instead, with the latter properly #ifdef'ed for _M_ARM.

- Add SAL annotations.
2022-02-16 00:49:48 +01:00
Hermès Bélusca-Maïto ccddb4aaf2
[BOOTDATA] Add /HAL=halpc98.dll to all the PC98 floppy disk's freeldr INI file boot entries. 2022-02-16 00:49:47 +01:00
Obaid51 9c79a7982b
[AC97] Import the AC97 driver sample
The source code is licensed under MIT license, taken from
"MSDN Code Gallery Microsoft Samples" repository
(https://github.com/microsoftarchive/msdn-code-gallery-microsoft)

The original license was MS-PL, but the driver was later relicensed
as MIT.

Adopted to ReactOS code base by Michael Stamper.

Co-authored-by: Michael Stamper <michaelstamper1@gmail.com>
2022-02-16 01:31:28 +03:00
Bryan Kirk 0944f808f8
[DDK] Hack the IDmaChannel::PhysicalAddress ABI 2022-02-16 01:31:28 +03:00
Bryan Kirk 3d9ef5c7e7
[PSDK] Add GUIDs used by AC97 sample driver 2022-02-16 01:31:28 +03:00
Bryan Kirk 07baa95a01
[DDK] Fix and add portcls definitions used by AC97 driver sample 2022-02-16 01:31:27 +03:00
Victor Perevertkin 6e97b4314f
[PORTCLS] Centralize AddRef/Release implementation.
And make it thread-safe.

Co-authored-by: Thomas Faber <thomas.faber@reactos.org>
2022-02-16 01:31:27 +03:00
Thomas Faber 7db9fb3ba6
[PORTCLS] Don't leak CPortWaveCyclic. 2022-02-15 08:43:08 -05:00
Thomas Faber ec1eb52ebf
[PORTCLS] Do not rely on operator new to zero memory.
The standard operator new does not do this, and GCC will in fact
optimize out any zeroing done in the operator.
2022-02-15 08:43:05 -05:00
Katayama Hirofumi MZ 418edcd2bf [SHELL32_APITEST] ShellExecCmdLine: Close newly-opened windows
ROSTESTS-378
2022-02-15 20:15:36 +09:00
Katayama Hirofumi MZ 2b2366ab90 [NTUSER] Improve UserFreeInputContext and UserDestroyInputContext
CORE-18044
2022-02-15 19:07:50 +09:00
Katayama Hirofumi MZ dfd06ee8fc
[MSPAINT] Implement skew (#4362)
- Add SkewDIB helper function in dib.cpp.
- Implement Stretch and Skew feature by SelectionModel::StretchSkew and ImageModel::StretchSkew.
- Move ColorKeyedMaskBlt function.
CORE-16634
2022-02-14 16:18:18 +09:00
Katayama Hirofumi MZ 2d90919047
[MSPAINT] Implement canvas rotation (#4360)
- Add Rotate90DegreeBlt function to dib.cpp.
- Implement ImageModel::RotateNTimes90Degrees and SelectionModel::RotateNTimes90Degrees.
- Improve ToolsModel::SetBackgroundTransparent.
- Extend and improve SelectionModel::InsertFromHBITMAP.
CORE-16634
2022-02-14 12:08:34 +09:00
Thomas Faber 6eccbe27ec
[HAL:APIC] Ensure the interrupt gets requested immediately in ApicRequestSelfInterrupt. CORE-17663 2022-02-13 17:15:00 -05:00
Eric Kohl 5811da1ec5 [RUNAS] Initial version of the runas utility
- Work in progress
- Please do not translate it yet because the resources will change significantly
2022-02-13 21:45:10 +01:00
Hermès Bélusca-Maïto f7e8214b55
[NTOS:INBV] Code refactoring: Move all the boot animation-specific code out of inbv.c and into the new bootanim.c file.
- inbv.c now only contains the Inbv-specific API and nothing else.

- It will make easier for people to write their own boot themes & animations,
  by just copying/adapting the bootanim.c file (and the resources).

- Add SAL annotations.

- All INBV progress bar functions (except for InbvIndicateProgress())
  should not be INIT-only functions, since they can be (not yet in ROS)
  used at later times -- namely, for feedback during hibernation.
2022-02-13 21:29:14 +01:00
Hermès Bélusca-Maïto 17bd71b570
[NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_> 2022-02-13 21:19:13 +01:00
Hermès Bélusca-Maïto 8fd64d636d
Restore the original inbv.c 2022-02-13 21:18:51 +01:00
Hermès Bélusca-Maïto 93c5e2b7c0
[NTOS:INBV] Duplicate inbv.c to bootanim.c -- the Git way >_>
This will preserve the history in the copied file.
2022-02-13 21:18:22 +01:00
Hermès Bélusca-Maïto e17f7d6994
[NTOS:INBV] Add documentation to the progress-bar helpers. And fix a bug in them.
In particular, the progress percentage specified to InbvUpdateProgressBar(),
or the progress feedback made with InbvIndicateProgress() calls, is
**relative** to the progress sub-range specified with a previous call to
InbvSetProgressBarSubset() (by default, the range is 0...100%).

This functionality is used e.g. when the number of progress steps is
unknown prior, for example when loading drivers: in this case progress
is made within a given percentage range.

This bug has always been with us since 2010.
2022-02-13 21:16:52 +01:00
Eric Kohl 3f67212812 [PSDK] Add missing flags for CreateProcessWithLogon 2022-02-13 15:41:49 +01:00
Katayama Hirofumi MZ 60b89da383 [SHELL32_APITEST] Try to fix Test Win2003_x64 again 2022-02-13 17:45:08 +09:00
Katayama Hirofumi MZ 45a4e53fa4
[NTUSER][IMM32] Use Imm32CurrentPti and pool (#4356)
- Use newly-defined Imm32CurrentPti() instead of NtCurrentTeb()->Win32ThreadInfo.
- THREADSTATE_GETTHREADINFO is same as THREADSTATE_UNKNOWN18.
- Use the paged pool to allocate HIMC rather than heap.
- Fix and improve ImmDestroyContext function.
CORE-11700
2022-02-13 15:51:53 +09:00
Hermès Bélusca-Maïto 78a7d7dc32
[CMIDRIVER] Remove useless Visual Studio resource editor file. 2022-02-12 16:21:32 +01:00
Hermès Bélusca-Maïto f73c0e08e2
[FDEBUG][CMIDRIVER] Add missing psdk dependency for user-mode code. 2022-02-12 16:21:30 +01:00