Hermès Bélusca-Maïto [Thu, 10 Jun 2021 00:34:23 +0000 (02:34 +0200)]
[MORE] Update and complete MORE's help usage.
And add french translation.
Jérôme Gardou [Wed, 9 Jun 2021 16:27:12 +0000 (18:27 +0200)]
[WIN32K:ENG] In EngLockDriverObj, properly return NULL when locking failed
CORE-15958
Katayama Hirofumi MZ [Wed, 9 Jun 2021 14:30:30 +0000 (23:30 +0900)]
[MORE][CONUTILS] Implement missing features of the MORE command (#3658)
Implement missing features of the MORE command. Special thanks to @HBelusca. CORE-4019
Jérôme Gardou [Mon, 7 Jun 2021 12:29:37 +0000 (14:29 +0200)]
[NTOS:MM] Handle PT references for page table faults in MmAccessFault
Idea from Timo Kreuzer
Jérôme Gardou [Mon, 7 Jun 2021 12:12:21 +0000 (14:12 +0200)]
[NTOS:MM] Get rid of MiQueryPageTableReferences
Timo Kreuzer [Thu, 26 Dec 2019 19:30:54 +0000 (20:30 +0100)]
[NTOS] Implement MiIsPageTablePresent as a replacement for the abused MiQueryPageTableReferences
Jérôme Gardou [Fri, 28 May 2021 14:56:28 +0000 (16:56 +0200)]
[NTOS:MM] In MiMakePdeExistAndValid, do not overly check PDE validity
It's "okay" to not #ifdef, but it's useless and confusing.
Jérôme Gardou [Fri, 28 May 2021 14:58:59 +0000 (16:58 +0200)]
[NTOS:MM] Implement proper refcounting of page tables on amd64
CORE-17552
Jérôme Gardou [Wed, 26 May 2021 08:25:51 +0000 (10:25 +0200)]
[NTOS:MM] Make MiIsEntireRangeCommitted 64-bits aware
Jérôme Gardou [Wed, 26 May 2021 08:20:57 +0000 (10:20 +0200)]
[NTOS:MM] Add some DPRINTs when incrementing or decrementing PFN share count
Jérôme Gardou [Tue, 25 May 2021 14:08:25 +0000 (16:08 +0200)]
[NTOS:MM] Make MiCalculatePageCommitment 64-bits aware
Jérôme Gardou [Tue, 25 May 2021 14:05:57 +0000 (16:05 +0200)]
[NTOS:MM] Add a few MiP*eToP*e helpers
And turn some of the existing ones into inline functions for the sake of type checking
Jérôme Gardou [Tue, 25 May 2021 08:44:11 +0000 (10:44 +0200)]
[NTOS:MM] Properly initialize initial process address space on amd64
By applying the same kludge on the relevant MMPFNs than on x86
Jérôme Gardou [Mon, 22 Mar 2021 08:46:06 +0000 (09:46 +0100)]
[NTOS:MM] Unconditionally delete the PFN in MiDeletePte when PTE is in transition
When we will have a modified page writer, it will have to know if the written
page is stale when being done, and act accordingly.
CORE-8552
Jérôme Gardou [Mon, 26 Apr 2021 16:18:23 +0000 (18:18 +0200)]
[NTOS:MM] Remove some dead code from legacy Mm
Jérôme Gardou [Tue, 8 Jun 2021 16:04:35 +0000 (18:04 +0200)]
[CMD] Use GetFullPathName instead of copying buffers when resolving executable names
This properly strips spaces & dots at the end of the file.
Fixes the infinite loop with CreateProcess calling cmd over and over with e.g. 'cmd /c "some_script.bat "'
Uncovered by recent ShellExecuteEx tests
Dedicated to Katayama for the trigger & Hermès for the tests
Katayama Hirofumi MZ [Wed, 9 Jun 2021 07:14:31 +0000 (16:14 +0900)]
[USER32_APITEST] Add SetFocus testcase (#3732)
Investigate about setting keyboard focus. CORE-17550
Victor Perevertkin [Tue, 8 Jun 2021 14:29:47 +0000 (17:29 +0300)]
[HIVESYS] Use "Primary Disk" writing for this driver load order group
George Bișoc [Sun, 6 Jun 2021 17:48:34 +0000 (19:48 +0200)]
[NTOS:SE] Use IQS_NONE for the first class which is not existent and barely used
George Bișoc [Sun, 6 Jun 2021 17:47:51 +0000 (19:47 +0200)]
[NTOS:PS] Use IQS_NONE for classes that do not exist
George Bișoc [Sun, 6 Jun 2021 17:39:32 +0000 (19:39 +0200)]
[NTOSKRNL] Use CHAR for non existent classes
An alignment of 1 means no alignment required and the class doesn't exist. 0 shouldn't be used for alignment requirement in IQS_NONE!
Katayama Hirofumi MZ [Mon, 7 Jun 2021 23:07:37 +0000 (08:07 +0900)]
[SHELL32_APITEST] Strengthen ShellExecuteEx testcase (#3731)
Investigate shell32!ShellExecuteEx function more. CORE-17351, CORE-16898, CORE-17612
Jérôme Gardou [Tue, 1 Jun 2021 08:32:12 +0000 (10:32 +0200)]
[NTOS:MM] Fix remnants of CORE-17587
Jérôme Gardou [Thu, 27 May 2021 17:17:13 +0000 (19:17 +0200)]
[NTOS:MM] Make MI_MAKE_HARDWARE_PTE_KERNEL actually respect the protection it is given
This one would set a page as writable & dirty even if MM_READONLY was passed
CORE-17587
Katayama Hirofumi MZ [Mon, 7 Jun 2021 09:03:49 +0000 (18:03 +0900)]
[CPL][APPWIZ] Follow-up of #3726
Sorry, #3726 doesn't fix CORE-5737. CORE-17550
Piotr Hetnarowicz [Mon, 7 Jun 2021 08:31:32 +0000 (10:31 +0200)]
[USETUP] Polish translation update (#3715)
Eric Kohl [Sun, 6 Jun 2021 19:26:34 +0000 (21:26 +0200)]
[VIDEOPRT] Fix monitor ID decoding issues
George Bișoc [Mon, 3 May 2021 13:46:35 +0000 (15:46 +0200)]
[NTOS:PS] Enable alignment probing for thread/process information classes
In addition to that, here are some stuff done in this commit whilst testing:
- ICIF_QUERY_SIZE_VARIABLE and friends were badly misused, they should be used only when an information class whose information length size is dyanmic and not fixed. By removing such flags from erroneous classes, this fixes the STATUS_INFO_LENGTH_MISMATCH testcases.
- Use CHAR instead of UCHAR for classes that do not need alignment probing, as every other class in the table do, for the sake of consistency.
- ProcessEnableAlignmentFaultFixup uses BOOLEAN as type size, not CHAR. This fixes a testcase failure on ROS.
- Check for information length size before proceeding further on querying the process' cookie information.
- ProcessHandleTracing wants an alignment of a ULONG, not CHAR.
- Move PROCESS_LDT_INFORMATION and PROCESS_LDT_SIZE outside of NTOS_MODE_USER macro case. This fixes a compilation issue when enabling the alignment probing. My mistake of having them inside NTOS_MODE_USER case, sorry.
- On functions like NtQueryInformationThread and the Process equivalent, complete probing is not done at the beginning of the function, complete probing including if the buffer is writable alongside with datatype misalignment check that is. Instead such check is done on each information class case basis. With that said, we have to explicitly tell DefaultQueryInfoBufferCheck if we want a complete probing or not initially.
Joachim Henze [Sun, 6 Jun 2021 14:40:28 +0000 (16:40 +0200)]
[SHELL32_APITEST] ShellHook testcase Fix compiler error (addendum to #3289)
addendum to 0.4.15-dev-1123-g
0089291751837d977431c85b6d8d6b1232fbb67b
Fix a compiler error on RosBE2.1.6 GCC4.7.2
that I got when I merged this test back to 0.4.14RC:
C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp: In function
'LRESULT WindowProc(HWND, UINT, WPARAM, LPARAM)':
C:/0414rls/reactos/modules/rostests/apitests/shell32/ShellHook.cpp:339:26: error
: comparison between signed and unsigned integer expressions [-Werror=sign-compa
re]
cc1plus.exe: all warnings being treated as errors
ninja: build stopped: subcommand failed.
Eric Kohl [Sun, 6 Jun 2021 09:38:26 +0000 (11:38 +0200)]
[LSASRV] Notify all authentication packages of a session to be deleted
Katayama Hirofumi MZ [Sat, 5 Jun 2021 23:25:27 +0000 (08:25 +0900)]
[SHELL32_APITEST] Follow-up of #3723
Strengthen FindExecutable testcase. CORE-17351, CORE-16898, CORE-17612
Mark Jansen [Sat, 5 Jun 2021 22:43:05 +0000 (00:43 +0200)]
[HOST-TOOLS] Block sending telemetry when spawning a new shell
Katayama Hirofumi MZ [Sat, 5 Jun 2021 21:51:42 +0000 (06:51 +0900)]
[SHELL32_APITEST] Add FindExecutable testcase (#3723)
Investigate the implementation of shell32!FindExecutable function.
CORE-17351, CORE-16898, CORE-17612
Hervé Poussineau [Sat, 29 May 2021 19:37:03 +0000 (21:37 +0200)]
[VBE] Check if DDC is supported before trying to read EDID
Also set Edx to 0 when reading Edid, as per specification.
CORE-16695
Hervé Poussineau [Sat, 29 May 2021 20:55:15 +0000 (22:55 +0200)]
[VIDEOPRT] Report monitor name instead of the generic 'Monitor' string
Hervé Poussineau [Sat, 29 May 2021 06:29:30 +0000 (08:29 +0200)]
[VIDEOPRT] Give to each device its own entry in HKLM\SYSTEM\CurrentControlSet\Services
This is required if you have two graphic cards using the same driver.
Mark Jansen [Sat, 5 Jun 2021 20:16:41 +0000 (22:16 +0200)]
[ATL_APITEST] Add some testcases for CString 'operator !='
Mark Jansen [Sat, 5 Jun 2021 20:16:08 +0000 (22:16 +0200)]
[ATL] Implement CString 'operator !='
Mark Jansen [Sat, 5 Jun 2021 20:14:34 +0000 (22:14 +0200)]
[SYSSETUP] Use the calculated full path
Joachim Henze [Sat, 5 Jun 2021 19:27:01 +0000 (21:27 +0200)]
[MSI] setup should not enumerate read-only CDRoms as install-targets CORE-14432
We decided to check a bit different than Wine currently does.
Wine checks for
if (GetVolumeInformationW(ptr, NULL, 0, NULL, 0, &flags, NULL, 0) && flags & FILE_READ_ONLY_VOLUME)
to exclude read-only-media while we (for now) check for
if (GetDriveTypeW(ptr) == DRIVE_CDROM)
For now this gives us the benefit of covering also CDROM drives, that do not have
a CD put into it.
That does not work properly for us with the Wine patch yet, but it does for Wine!
So this maybe points to some other bug in ros, maybe in our CDROM(FS)-drivers?
In the future we should also test this on other read-only-media in Windows e.g.
a read-only USB stick to decide whether we want to stick with our current solution
or whether we want to switch to Wines solution or whether we want to logically OR
both conditions!
Thanks to Doug Lyons for providing what *currently* does work best for us!
VBox https://reactos.org/testman/compare.php?ids=77537,77546 (no change)
KVM https://reactos.org/testman/compare.php?ids=77531,77541 (no change)
Serge Gautherie [Sat, 5 Jun 2021 18:49:41 +0000 (20:49 +0200)]
[MPR] spec: Add stubs, document parameter types, stub-enable 2 functions (#3696)
* Add 20 stubs from mpr.dll v5.2.3790.3959.
* Document some parameter types from https://github.com/Microsoft/winfile/
* Change WNetGetDirectoryType[A|W] to no-op stubs
CORE-14376
Timo Kreuzer [Fri, 4 Jun 2021 13:20:21 +0000 (15:20 +0200)]
[RAPPS] Implement support for architecture specific sections
See CORE-17616
Timo Kreuzer [Thu, 10 May 2018 19:37:30 +0000 (21:37 +0200)]
[RTL][KMTEST] RtlPcToFileHeader doesn't handle user mode images in kernel mode
Timo Kreuzer [Wed, 7 Mar 2018 14:38:24 +0000 (15:38 +0100)]
[RTL] Fix RtlWalkFrameChain and wrap it in SEH
Timo Kreuzer [Fri, 2 Mar 2018 06:48:34 +0000 (07:48 +0100)]
[RTL] Simplify RtlRaiseException
Timo Kreuzer [Thu, 1 Mar 2018 13:43:05 +0000 (14:43 +0100)]
[RTL] Implement RtplUnwindInternal and wrap RtlUnwindEx and RtlDispatchException around it
Based on the description in this blog article: http://www.nynaeve.net/?p=106
Timo Kreuzer [Thu, 1 Mar 2018 13:14:13 +0000 (14:14 +0100)]
[RTL] Improve RtlVirtualUnwind
* Add support for version 2 unwind info
* Implement UnwindOpSlots() and use it (based on https://github.com/dotnet/coreclr/blob/master/src/unwinder/amd64/unwinder_amd64.cpp)
* Fix handling of UWOP_PUSH_MACHFRAME
Timo Kreuzer [Thu, 1 Mar 2018 13:13:01 +0000 (14:13 +0100)]
[RTL] Move exception handling code to except.c
Timo Kreuzer [Wed, 7 Mar 2018 11:03:51 +0000 (12:03 +0100)]
[RTL] Improve / fix the SList code
Don't push a register in the middle of a an asm function. Instead add a proper prolog and store rbx in a home param slot.
Timo Kreuzer [Thu, 1 Mar 2018 13:22:18 +0000 (14:22 +0100)]
[CRT] Implement __C_specific_handler
Katayama Hirofumi MZ [Sat, 5 Jun 2021 09:21:25 +0000 (18:21 +0900)]
[CPL][APPWIZ] Make gecko download cancellable by keyboard (#3726)
We shouldn't disable nor hide the control with focus. CORE-17550, CORE-5737
Joachim Henze [Fri, 4 Jun 2021 18:04:20 +0000 (20:04 +0200)]
[WINETESTS] Workaround crashes in riched20:richole on VBox/KVM bots CORE-16799
The crashes began when those tests were synced to Wine Staging 4.18 in
0.4.14-dev-419-g
76cf09cfea15911082245a65547fb67512b710ce
WHS 2k3sp2 Before the revert implies the tests were actually ok:
https://reactos.org/testman/compare.php?ids=77492
Disabling some of the tests is very unsatisfying of course,
but at least allows us to observe again
the results of the other tests from that suite.
VBox https://reactos.org/testman/compare.php?ids=77504,77506
KVM https://reactos.org/testman/compare.php?ids=77502,77505
Timo Kreuzer [Fri, 9 Mar 2018 22:55:54 +0000 (23:55 +0100)]
[NTOS:KE/x64] Handle shared interrupts
Timo Kreuzer [Thu, 30 May 2019 17:21:45 +0000 (19:21 +0200)]
[EXPLORER] Check m_Position for -1 before using it as an index
This fixes a crash on x64.
Timo Kreuzer [Fri, 3 Jan 2020 16:13:17 +0000 (17:13 +0100)]
[BROWSEUI] Fix broken code
Katayama Hirofumi MZ [Thu, 3 Jun 2021 21:16:07 +0000 (06:16 +0900)]
[SHELL32_APITEST] ShellExecCmdLine: Don't copy Notepad.exe
On Windows 10, when I copyed Notepad.exe to the desktop and double-clicked it, it won't start Notepad. This is probably because there is a security protection mechanism (or some mechanism) at work. Tests that assume this mechanism will not work properly on ReactOS. Thus, I had to delete some tests. CORE-17351
Katayama Hirofumi MZ [Thu, 3 Jun 2021 05:49:49 +0000 (14:49 +0900)]
[SHELL32_APITEST] ShellExecCmdLine: Close Notepad windows
By using newly added CloseNotepads function, close the Notepad window.
CORE-17351
Timo Kreuzer [Tue, 15 May 2018 12:08:48 +0000 (14:08 +0200)]
[NTOS:PS/x64] Fix PspGetOrSetContextKernelRoutine
It now uses KiSetTrapContext to set the non-volatile context on the stack and the volatile context in the trap frame.
Timo Kreuzer [Tue, 15 May 2018 12:06:27 +0000 (14:06 +0200)]
[NTOS:KE/x64] Implement KiSetTrapContext
KiSetTrapContext is an asm wrapper around RtlSetUnwindContext, which first stores an exception frame to assure that all non-volatile registers were put on the stack, then calls RtlSetUnwindContext to update their first saving positions on the stack and finally restore the exception frame to potentially load any updated registers, that haven't been saved elsewhere on the stack.
Timo Kreuzer [Tue, 15 May 2018 12:05:19 +0000 (14:05 +0200)]
[RTL/x64] Implement RtlpCaptureNonVolatileContextPointers and RtlSetUnwindContext
RtlpCaptureNonVolatileContextPointers walks the stack and captures the addresses of all non-volatile registers on the stack, when they have been saved first. This is needed to be able to fix up the non-volatile on a system call, which doesn't capture non-volatiles, but relies on them to be restored by the callees.
Instead of only checking for the TargetFrame, also check for a mode change, i.e. RIP went from kernel to user, in which case the target frame was not reached yet, because it was too large, but processing can't continue here.
RtlSetUnwindContext uses RtlpCaptureNonVolatileContextPointers to set the non-volatile registers in the the stack. They will be picked up, when returning back or unwinding, e.g. to the system call handler.
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[BOOT] CMakeLists.txt: Compare ARCH to arm64, not aarch64
This aarch64 was introduced first,
but arm64 was preferred everywhere else since then.
CORE-17518
Serge Gautherie [Thu, 23 May 2019 02:11:41 +0000 (04:11 +0200)]
[CMAKE] CMakeLists.txt: Fix 'omap-zoom2' typo
Addendum to
fae2044 (r51783).
CORE-17604
Stanislav Motylkov [Wed, 2 Jun 2021 10:18:40 +0000 (13:18 +0300)]
[CRT][ARM] Fix uninitialized variables caught by RTC
CORE-17613
Piotr Hetnarowicz [Wed, 2 Jun 2021 09:54:12 +0000 (11:54 +0200)]
[EXPLORER] Polish translation update (#3704)
Piotr Hetnarowicz [Wed, 2 Jun 2021 09:53:07 +0000 (11:53 +0200)]
[BROWSEUI] Polish translation update (#3703)
Piotr Hetnarowicz [Wed, 2 Jun 2021 09:52:10 +0000 (11:52 +0200)]
[WINLOGON] Polish translation update (#3702)
Piotr Hetnarowicz [Wed, 2 Jun 2021 09:50:54 +0000 (11:50 +0200)]
[SHELL32] Polish translation update (#3701)
George Bișoc [Sun, 23 May 2021 10:21:47 +0000 (12:21 +0200)]
[NTOS:SE] Implement logon session deletion
And declare a prototype for SepCleanupLUIDDeviceMapDirectory and annotate it with SAL.
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[CMAKE] CMakeLists.txt: Remove NO_UNDERSCORE_PREFIX leftovers
And switch to add_compile_definitions().
Addendum to
9efafd6.
Katayama Hirofumi MZ [Tue, 1 Jun 2021 02:11:23 +0000 (11:11 +0900)]
[WIN32SS][NTUSER] ShowWindow.SW_MINIMIZE should show window (#3700)
- user32!ShowWindow.SW_MINIMIZE should show the window.
- Fix the return value of ShowWindow function on invalid parameter.
CORE-15669
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[GITHUB] build.yml: Define CLANG_VERSION for clang only
Addendum to
a66214c.
Serge Gautherie [Mon, 24 May 2021 06:56:17 +0000 (08:56 +0200)]
[GITHUB] build.yml: Properly define LLVM_VERSION
Addendum to
a66214c.
Katayama Hirofumi MZ [Mon, 31 May 2021 04:08:06 +0000 (13:08 +0900)]
[WIN32SS][NTUSER] Improve HSHELL_WINDOWCREATED condition (#3697)
Modify the condition of generating HSHELL_WINDOWCREATED, especially on WS_CHILD window style. CORE-15669
Eric Kohl [Sun, 30 May 2021 19:12:58 +0000 (21:12 +0200)]
[NETCFGX] Create unique network connection names
Katayama Hirofumi MZ [Sun, 30 May 2021 00:37:38 +0000 (09:37 +0900)]
[USER32_APITEST] Add ShowWindow testcase (#3689)
Investigate the implementation of user32!ShowWindow. CORE-15669
Timo Kreuzer [Fri, 2 Mar 2018 23:13:37 +0000 (00:13 +0100)]
[RTL/x64] Implement RtlRestoreContext
Timo Kreuzer [Fri, 2 Mar 2018 07:02:13 +0000 (08:02 +0100)]
[RTL/x64] Improve RtlCaptureContext
Use movaps instead of movdqa, it does the same thing, but is one byte shorter.
Shuffle instructions around a bit to maximize parallel execution.
Timo Kreuzer [Mon, 6 Jan 2020 09:46:01 +0000 (10:46 +0100)]
[RTL/x64] Improve RtlInitializeContext
George Bișoc [Sat, 22 May 2021 17:47:19 +0000 (19:47 +0200)]
[NTOS:SE] Do some cleanup on ICIF flags in token information classes
A few of these classes have fixed size lengths, the rest are arbitrary. Also the TokenAuditPolicy class hasn't a size length type specified in the table, which is wrong (and move the corresponding TOKEN_AUDIT_POLICY_INFORMATION structure into the private header).
Katayama Hirofumi MZ [Sat, 29 May 2021 00:33:46 +0000 (09:33 +0900)]
[SHELL32_APITEST] Strengthen and improve ShellHook testcase (#3687)
- Add tests to find the missing parameters against HSHELL_WINDOWCREATED conditions.
- Improve code readability. CORE-15669
Timo Kreuzer [Mon, 5 Oct 2020 13:43:47 +0000 (15:43 +0200)]
[USBPORT] Make unload work
Timo Kreuzer [Mon, 29 Jan 2018 17:41:18 +0000 (18:41 +0100)]
[CRT] Use the asm version of sqrt on amd64
Timo Kreuzer [Mon, 9 Mar 2020 06:01:05 +0000 (07:01 +0100)]
[NTOS:KE] Add IRQL checks and fix KiInitiateUserApc
Timo Kreuzer [Thu, 8 Mar 2018 11:23:45 +0000 (12:23 +0100)]
[NTOS:KE] Improve KiSystemCallEntry64
Timo Kreuzer [Wed, 21 Mar 2018 09:33:31 +0000 (10:33 +0100)]
[NTOS:KE] Fix stack alignment issues
Timo Kreuzer [Sun, 23 May 2021 12:50:10 +0000 (14:50 +0200)]
[NTOS:KE] Remove duplicated EFlag definitions
Timo Kreuzer [Sat, 24 Mar 2018 10:06:18 +0000 (11:06 +0100)]
[ASM] Clear interrupt flag in ExitTrap before returning
Timo Kreuzer [Thu, 8 Mar 2018 23:04:54 +0000 (00:04 +0100)]
[WIN32K][USER32] Change mechanism for storing dialog info pointer
DLGWINDOWEXTRA is 30 (both on win32 and win64). This has storage for the following entries: DWLP_MSGRESULT (0), DWLP_DLGPROC (8), DWLP_USER (16)
We used to store the dialog info pointer using SetWindowLongPtr (DWLP_ROS_DIALOGINFO == DWLP_USER+sizeof(ULONG_PTR) == 24), which was fine on win32, but failed on win64, since there wasn't enough space left (24 + 8 = 32 > 30).
Rewrite the way the DLGINFO pointer is stored, by adding an additional field to the WND structure and set it using NtUserxSetDialogPointer (which is what it is for).
Also fix too small cbWndExtra for the button class.
Timo Kreuzer [Sun, 23 May 2021 12:02:09 +0000 (14:02 +0200)]
[WIN32K] Fix wrong calculation in DIB_32BPP_BitBltSrcCopy
Using an unsigned integer will cause the calculations to be unsigned, which on x64 leads to wrong results, when adding it to a pointer.
Mark Jansen [Wed, 26 May 2021 20:57:43 +0000 (22:57 +0200)]
[SHELL32] CDefView: Prevent use after free
While updating the item, the LVIF_STATE would be requested,
for which the old lParam would be accessed.
Katayama Hirofumi MZ [Wed, 26 May 2021 12:11:10 +0000 (21:11 +0900)]
[REGEDIT] Use InitCommonControlsEx instead of InitCommonControls (#3686)
NOTE: Windows sets 0xFFFF to icce.dwICC but we use better value.
Jérôme Gardou [Wed, 26 May 2021 09:03:34 +0000 (11:03 +0200)]
[NTOS:IO] Be more specific for chasing CORE-17587
Addendum to
42ec1388d7
Jérôme Gardou [Wed, 26 May 2021 08:48:29 +0000 (10:48 +0200)]
[NTOS:IO] Break on IoRaiseInformationalHardError
This one will eventually be reverted. For now, this will help debugging CORE-17587
Hermès Bélusca-Maïto [Tue, 25 May 2021 23:19:10 +0000 (01:19 +0200)]
[CMD] Reset the current thread UI language at startup, and when updating the local code page cache.
CORE-17601
Hermès Bélusca-Maïto [Tue, 25 May 2021 18:17:43 +0000 (20:17 +0200)]
[MODE] Reset the current thread UI language and streams codepage after changing the console codepage. Add extra error handling.
CORE-17601
Hermès Bélusca-Maïto [Tue, 25 May 2021 18:04:01 +0000 (20:04 +0200)]
[CHCP] Reset the current thread UI language and streams codepage after changing the console codepage.
CORE-17601
Hermès Bélusca-Maïto [Tue, 25 May 2021 22:12:10 +0000 (00:12 +0200)]
[CONUTILS] Implement ConSetThreadUILanguage() as a wrapper for kernel32!SetThreadUILanguage().
CORE-17601
Dynamically load SetThreadUILanguage(), so as to support systems where this API is not present.
Hopefully implemented in a thread-safe manner.
Hermès Bélusca-Maïto [Tue, 25 May 2021 22:01:26 +0000 (00:01 +0200)]
[CONUTILS][CMD] Add and use a helper ConStdStreamsSetCacheCodePage() macro instead of repeatedly calling ConStreamSetCacheCodePage() on the standard streams.
Hermès Bélusca-Maïto [Tue, 25 May 2021 21:34:01 +0000 (23:34 +0200)]
[CONUTILS] Update some documentation.
Hervé Poussineau [Tue, 25 May 2021 19:12:41 +0000 (21:12 +0200)]
[NTOS:MM] Remove wrong cleaning of PDEs at session cleanup