Commit graph

87539 commits

Author SHA1 Message Date
Timo Kreuzer
02ad6b17ed [KERNEL32_VISTA] Implement GetFinalPathNameByHandleW
Note: The wine implementation is broken (it relies on broken behavior of NtQueryObject) and cannot be used.
2025-06-22 13:01:07 +00:00
Timo Kreuzer
36183cfc51 [KERNEL32_APITEST] Add tests for GetFinalPathNameByHandleW 2025-06-22 13:01:07 +00:00
Timo Kreuzer
007c9521ca [NTDLL_APITEST] Add another test for NtQueryObject
This shows that wine's implementation is broken, which wine's GetFinalPathNameByHandle relies on.
2025-06-22 13:01:07 +00:00
Timo Kreuzer
220e18d065 [PSDK] Fix up lmshare.h 2025-06-22 13:01:07 +00:00
Eric Kohl
8bf9b670ed [DHCPCSVC] Enable DHCP for wired Ethernet and wireless IEEE802.11 network interfaces
Fixes CORE-20244
2025-06-22 10:57:50 +02:00
Katayama Hirofumi MZ
66b782da3c
[KBSWITCH][INDICDLL] Fix initialization bug (#8135)
There was a bug that hKbSwitchWnd was not correctly initialized.
JIRA issue: N/A
- Check if hKbSwitchWnd is initialized or not.
- When hKbSwitchWnd was not initialized, initialize it on DllMain.
- Enable trace in indicdll.dll.
2025-06-22 10:52:58 +09:00
Katayama Hirofumi MZ
b199e9d05f
[SHLWAPI][SDK][BOOTDATA] Implement SHGetAppCompatFlags (#8137)
Compatibility is a key that the system
works well.
JIRA issue: CORE-19278
- Add appcompat.c.
- Implement SHGetAppCompatFlags
  function.
- Add Str_SetPtrA prototype to
  <commctrl.h>.
- Add SHACF_... flags to
  <shlwapi_undoc.h>.
- Add comctl32 delay import
  (for Str_SetPtrA).
- Modify boot/bootdata/hivesft.inf
  for registry key
  HRESULTKLM\SOFTWARE\Microsoft\
  Windows\CurrentVersion\
  ShellCompatibility\Applications.
2025-06-22 09:52:37 +09:00
Timo Kreuzer
1a11aa059f [NTOS:MM] Fix section related test failures
Fixes all failures, except pointer counts.
2025-06-21 18:19:01 +00:00
Timo Kreuzer
736015f36f [NTOS:MM] Fix a bad cast 2025-06-21 18:19:01 +00:00
Timo Kreuzer
e9ab780527 [NTOS:MM] Fix some unimplemented cases of NtQuerySection 2025-06-21 18:19:01 +00:00
Whindmar Saksit
e307cad501
[UXTHEME] Implement SetSystemVisualStyle (#7864)
Implement SetSystemVisualStyle based on function and flags found at https://stackoverflow.com/a/1036903 and 
https://pinvoke.net/default.aspx/uxtheme.SetSystemVisualStyle
2025-06-21 18:56:48 +02:00
Whindmar Saksit
99b99bda0f
[BROWSEUI][SHELL32] Fixed FindFiles rename operation (#8151)
DefView will now map its internal (FCIDM) commands (when sent from the toolbar and accelerators) to canonical verb strings so clients outside shell32 can detect the verb. This is critical for "rename" and handy for "properties".

CORE-18326
2025-06-21 16:52:48 +02:00
Timo Kreuzer
6653bb5224 [NTOS:KE] Detect CPU support for XSAVE, AVX, AVX2 and AVX512 2025-06-21 07:55:06 +00:00
Timo Kreuzer
294eb31cfd [NTOS:KE/x64] Handle extended processor state on context switch 2025-06-21 07:55:06 +00:00
Timo Kreuzer
d6874fe7b9 [NTOS:KE/x64] Implement KiSave/RestoreXState 2025-06-21 07:55:06 +00:00
Timo Kreuzer
410cf69b0c [NTOS:KE/x64] Handle XState allocation on the stack 2025-06-21 07:55:06 +00:00
Timo Kreuzer
72fbbdf854 [NTOS:KE/x64] Implement KiInitializeXStateConfiguration 2025-06-21 07:55:06 +00:00
Timo Kreuzer
f4fd842be1 [NTOS:KE/X64] Move initialization of keFeatureBits 2025-06-21 07:55:06 +00:00
Timo Kreuzer
55b3e641ef [SDK] immintrin.h: add (f)xsave/restore intrinsics 2025-06-21 07:55:06 +00:00
Timo Kreuzer
26fae132d6 [UMKM_APITEST] Add test for XSTATE configuration 2025-06-21 07:55:06 +00:00
Timo Kreuzer
0f2f124c3a [XDK][NDK] Add XSTATE hacks 2025-06-21 07:55:06 +00:00
Timo Kreuzer
e029a98c22 [SDK] Fix some CPUID structures 2025-06-21 07:55:06 +00:00
Timo Kreuzer
0e2788de4a [SDK] Add CPUID_EXTENDED_STATE_SIZE_OFFSET_REGS 2025-06-21 07:55:06 +00:00
Timo Kreuzer
9ea129b8a9 [XDK][NDK] Avoid code duplication by generating more definitions for winnt.h 2025-06-21 07:55:06 +00:00
Timo Kreuzer
8d2d9b803a [NDK][XDK] Fix XSTATE_CONFIGURATION a bit 2025-06-21 07:55:06 +00:00
Timo Kreuzer
84c205bd06 [UMKM_APITEST] Add test for extended state saving 2025-06-21 07:55:06 +00:00
Eric Kohl
d8bfa93f21 [DEVMGR] Fix reading the device resource lists
For each device we must first try to read its AllocConfig resource list. If its AllocConfig resource list is not available, try to read its BootConfig resource list.
2025-06-20 20:50:18 +02:00
Justin Miller
8aab5a9b24 [ACPI_NEW] Minimal to build
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Dmitry Borisov <di.sean@protonmail.com>
2025-06-19 20:32:11 -07:00
Daniil Tatianin
156fead517 [ACPI_NEW] Import uACPI 2.1.1 2025-06-19 20:32:11 -07:00
Eric Kohl
15e69dbf34 [DEVMGR] Fix the device manager
- Revert changes to the wine debug macros.
- Enable grayed the Resource By Type menu items.
2025-06-19 23:08:25 +02:00
Eric Kohl
87d2179956 [DEVMGR] Implement the Resources By Type view
TODO:
- Add resource type icon
- Fix the context menu
2025-06-19 22:32:28 +02:00
Whindmar Saksit
59e556f3f3
[SHELL32] Implement DragDropHandlers shell extension context menus (#8143)
CORE-11240 CORE-11238
2025-06-19 20:54:28 +02:00
Timo Kreuzer
06414ac85a [KERNEL32_VISTA] Implement IsValidLocaleName 2025-06-19 17:36:40 +00:00
Timo Kreuzer
a8987adb67 [KERNEL32_VISTA] Move GetLocaleInfoEx from locale.c into a separate file
This allows to have it in kernel32_vista
2025-06-19 17:36:40 +00:00
Timo Kreuzer
c37310b4e0 [KERNEL32_APITEST] Add tests for GetLocaleInfoEx 2025-06-19 17:36:40 +00:00
Timo Kreuzer
5225c75d3b [KERNEL32_VISTA] Move EnumSystemLocalesEx from locale.c into a separate file
This allows to have it in kernel32_vista
2025-06-19 17:36:40 +00:00
Timo Kreuzer
48ec990a49 [KERNEL32_VISTA] Implement LCIDToLocaleName 2025-06-19 17:36:40 +00:00
Timo Kreuzer
7c1b7ee87d [KERNEL32_VISTA] Implement LocaleNameToLCID 2025-06-19 17:36:40 +00:00
Timo Kreuzer
fa79aaa0f3 [KERNEL32_APITEST] Add tests for LocaleNameToLCID 2025-06-19 17:36:40 +00:00
Timo Kreuzer
be1cd6987b [KERNEL32_APITEST] Add a test for LCMapString 2025-06-19 17:36:40 +00:00
Timo Kreuzer
e83eccee31 [KERNEL32] Zero out CPINFO in GetCPInfo 2025-06-19 17:36:40 +00:00
Timo Kreuzer
2bec8c9d4c [KERNEL32_APITEST] Add tests for GetCPInfo 2025-06-19 17:36:40 +00:00
Timo Kreuzer
c495e0d727 ]HIVESYS] Add missing NLS files to registry 2025-06-19 17:36:40 +00:00
Timo Kreuzer
189ce2a5a6 [KERNEL32_VISTA] Implement GetUserDefaultLocaleName 2025-06-19 17:36:40 +00:00
Timo Kreuzer
d5286af2e1 [NTDLL_VISTA] Export RtlLcidToLocaleName and RtlLocaleNameToLcid 2025-06-19 17:36:40 +00:00
Timo Kreuzer
942d362ff8 [NTDLL_APITEST] Add another test for RtlLocaleNameToLcid 2025-06-19 17:36:40 +00:00
Serge Gautherie
9832737843
[NTDLL_WINETEST][NTOS:PS] Fix a few NtQueryInformationProcess(Process*) handling cases (#8136)
* [NTDLL_WINETEST] `test_query_process_debug_object_handle()`: one WINESYNC

Cherry-pick WineTest part of:
52d733b5c4
server: Implement retrieving the debug object of a process.
by: Alexandre Julliard <julliard@winehq.org>

* [NTOS:PS] Fix `NtQueryInformationProcess(ProcessDebugObjectHandle)`

Close the retrieved `DebugPort` on failure.
Addendum to commit 1e172203a (r55734).

* [NTOS:PS] Optimize `NtQueryInformationProcess(ProcessWow64Information)` on 32-bit.

No need to do the ExAcquire/ReleaseRundownProtection rigamarole since
we aren't retrieving the `Process->Wow64Process` on 32-bit builds.
Addendum to commit 1e172203a (r55734).

* [NTOS:PS] Fix `NtQueryInformationProcess(ProcessExecuteFlags)`

s/return/break/ on a failure case.
Addendum to commit 1e172203a (r55734).

* [NTOS:PS] NtQueryInformationProcess(): Optimize `*ReturnLength` assignment

Enter the SEH block only if we know we'll have to set `*ReturnLength` on return.
Addendum to commit 2278c2914 (r23175).
2025-06-19 18:47:31 +02:00
Hermès Bélusca-Maïto
b8c5e9c209
[WINLOGON] Check whether error popups should be shown if loading user profile fails (#8139)
Respect the `"NoPopupsOnBoot"` REG_DWORD value in `HKLM\System\CurrentControlSet\Control\Windows`
https://www.visualautomation.com/comprod/secure6/nopopups.htm
2025-06-19 16:09:31 +02:00
Hermès Bélusca-Maïto
cbf3e61d63
[USERENV] Implement error reporting via error dialog (#8139)
This feature is used to report errors when `LoadUserProfile()` fails.
It is also meant to be used by other functions in the future.

The error dialog is shown only when the `PI_NOUI` flag is _NOT_ set
in `PROFILEINFO::dwFlags`.

- Add support for retrieving USERENV-specific registry policies,
  in a systematic way.

- Add support for "timed" dialogs that automatically close after
  a given timeout has elapsed.
  The default timeout is controlled by the `"ProfileDlgTimeOut"` policy:
  https://www.visualautomation.com/comprod/secure6/profile_.htm
  https://www.infania.net/misc/kbarchive/kb/196/Q196284/index.html

- TODO for the future: report the error in the event log.

- `LoadUserProfileW()`: Reset `ret` to `FALSE` after the call to
  `CreateUserProfileW()`; this allows to return failure in case
  any other function calls down the line fails. (`ret` is set to
  `TRUE` only when everything has succeeded.)
2025-06-19 16:09:30 +02:00
Katayama Hirofumi MZ
3a96c90c54
[NTUSER][USER32] Re-implement WM_POPUPSYSTEMMENU message (#8144)
This PR resolves a bug of #8094. #8094
correctly validates the flags. TPM_SYSTEM_MENU is an internal flag
and not a valid flag for TrackPopupMenu.
Thus, calling TrackPopupMenu.TPM_SYSTEM_MENU
in User32DefWindowProc was wrong.
This caused failure of taskbar context
menu.

JIRA issue: CORE-20238

- Move WM_POPUPSYSTEMMENU
  message handling of user32 into
  win32k.sys!IntDefWindowProc.
- Use win32k.sys!IntTrackPopupMenuEx
  instead of user32!TrackPopupMenu
  in handling of WM_POPUPSYSTEMMENU.
2025-06-19 22:59:27 +09:00