Commit graph

170 commits

Author SHA1 Message Date
Katayama Hirofumi MZ 13b1eadebb
[KERNEL32] LCMapString: Convert Chinese characters (#5316)
* [KERNEL32] LCMAP_SIMPLIFIED_CHINESE and LCMAP_TRADITIONAL_CHINESE

* fix

* improve

* reduce data

* improve
2023-06-04 21:46:01 +09:00
Hermès Bélusca-Maïto cbae866df3
[KERNEL32] CreateProcessInternalW: Initialize uninitialized ClientId.
This situation happens when either of the two "goto VdmShortCircuit;"
code paths are taken when starting a DOS or WoW16 app.
2023-05-17 16:17:42 +02:00
Hermès Bélusca-Maïto 1cbcc4ac5c
[KERNEL32] Minor comments improvements in CreateProcessInternalW. 2023-05-17 16:17:38 +02:00
Katayama Hirofumi MZ 8b948ff062
[KERNEL32][SDK] RegisterConsoleIME and UnregisterConsoleIME (#5270)
The conime.exe program exists in WinXP/Win2k3 and it realizes Console IME. conime.exe calls kernel32!RegisterConsoleIME and kernel32!UnregisterConsoleIME. To realize Console IME, these two functions are required. CORE-11700
2023-05-07 22:55:46 +09:00
Katayama Hirofumi MZ 3f5bcf5775
[KERNEL32] LCMapString: Fullwidth/halfwidth conversion (#5206)
- Add file dll/win32/kernel32/winnls/string/dakuten.h.
- Add file dll/win32/kernel32/winnls/string/full2half.h.
- Support LCMAP_FULLWIDTH and LCMAP_HALFWIDTH in LCMapString.
CORE-11700
2023-04-01 11:33:36 +09:00
Katayama Hirofumi MZ 0569bbd4a7
[KERNEL32] LCMapString: Sync to Wine a little (#5203)
Preparation for LCMAP_FULLWIDTH and LCMAP_HALFWIDTH support.
Slightly synchronize lang.c to locale.c in Wine's dlls/kernelbase.
CORE-11700
2023-03-28 21:09:27 +09:00
Katayama Hirofumi MZ ab5aff5948 [KERNEL32] Follow-up of #5200 (5d1ae45)
Add "Voiced Iteration Marks" to convert.
CORE-11700
2023-03-28 10:00:22 +09:00
Katayama Hirofumi MZ 5d1ae45b83
[KERNEL32] LCMapString: Hiragana/Katakana conversion (#5200)
Implement LCMAP_KATAKANA and LCMAP_HIRAGANA flags. CORE-11700
2023-03-28 08:37:17 +09:00
Ratin Gao d09072626b [KERNEL32] GlobalMemoryStatusEx should handle error and return FALSE when failed 2023-03-23 09:42:58 +01:00
Ratin Gao df7ab5d8f7
[KERNEL32] Remove a pointless SEH in VirtualAllocEx (#5117)
Win2K3 just wraps in SEH only this syscall, which appears pointless
and was removed since NT6.0. We remove it too as an experiment.
Revert the change that added SEH here from commit 6d97180 (r52899).
2023-03-09 17:08:08 +01:00
Jose Carlos Jesus f691efefc2
[SHLWAPI] No need extension to execute '.bat' files CORE-17612 (#4932)
When no extension is provided, add default extension with correct precedence using PathFileExistsDefExtW.
- Use PathFindOnPathExW when searching in current directory and PATH environment variable.
- Fix Width String terminator to UNICODE_NULL.
- Fix all failed tests on PathFindPathExW KVM test.
CORE-17612
2023-02-11 00:05:11 +09:00
Hermès Bélusca-Maïto 1b25fe161c
[KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
Timo Kreuzer 437f2b1b0e [KERNEL32] Silence 2 annoying DPRINTs 2023-01-04 10:32:28 +01:00
Timo Kreuzer eb502bbc10 [KERNEL32] Fix a bug in GetVolumeNameForRoot 2022-12-01 20:17:40 +02:00
Hermès Bélusca-Maïto 25958a7c3d
[KERNEL32] Spec file: GetCurrencyFormatW takes wide strings in parameters. 2022-11-03 02:50:23 +01:00
Hermès Bélusca-Maïto 9f938ea3bb
[KERNEL32] Reformat K32CreateDBMonMutex(). 2022-11-03 02:50:20 +01:00
Hermès Bélusca-Maïto d8cc88ca80
[KERNEL32][BASESRV] Fix interoperability with Win2k3 regarding NLS section security. (#4828)
Partially revert some aspects of commits 5696e4ba4 and bf40c7a31.
(See PR #4340.)

In order for Win2k3 kernel32.dll to operate with our basesrv.dll (or our
kernel32.dll to operate with Win2k3 basesrv.dll), we need in particular
to have the CreateNlsSecurityDescriptor() helper to exactly take the
expected parameters. Namely, a pointer to a **user-allocated**
SECURITY_DESCRIPTOR buffer, its size (and an access mask).

The function expects its caller to provide all this, and the caller expects
the function to initialize the security descriptor buffer. Note that the
function does *NOT* allocate a new descriptor buffer to be returned!

Indeed, with the way it currently is in master, using Win2k3 kernel32
with our basesrv is now failing with the errors:
```
NLSAPI: Could NOT Create ACL - c0000023.
(subsystems/win/basesrv/nls.c:279) NLS: CreateNlsSecurityDescriptor FAILED!: c0000023
NLSAPI: Could NOT initialize Server - c0000023.
(dll/ntdll/ldr/ldrinit.c:867) LDR: DLL_PROCESS_ATTACH for dll "kernel32.dll" (InitRoutine: 77E40D95) failed
```
(and, if we ever attempted to increase the so-claimed "dummy parameter"
descriptor size in the basesrv call, we would end up with its stack
corrupted and a crash).
Conversely, using our kernel32 with Win2k3 basesrv, would end up with
basesrv receiving a wrongly-initialized descriptor that would not work
(the buffer not being initialized with the contents of a descriptor, but
instead receiving some address to a descriptor allocated somewhere else).
2022-11-01 02:34:04 +01:00
Hermès Bélusca-Maïto 5bf0c00ddc
[KERNEL32] Minor code style changes + add documentation for BasepMoveFileDelayed().
+ cut the too long lines; don't hardcode types in sizeofs; correctly specify COPY_FILE_FAIL_IF_EXISTS flag.
2022-11-01 02:29:24 +01:00
Jose Carlos Jesus fece68b63f
[TRANSLATION] Improve Portuguese (pt-PT) translation (#4758)
- [WINNLS] Update pt-PT translation
- [NETCFGX] Update pt-PT translation
- [SHELL32] Update pt-PT translation
2022-10-06 22:48:38 +03:00
Hermès Bélusca-Maïto 61cfc0f055
[KERNEL32] Fix DisableThreadLibraryCalls function argument type in spec file.
+ Remove space between function name and parentheses there too.
2022-10-06 16:16:46 +02:00
Mark Jansen f10d40f912
[KERNEL32] Fix BaseDefaultPath containing extra '.' 2022-09-06 21:09:38 +02:00
Katayama Hirofumi MZ bb9c5e8e3e
[KERNEL32] Fix kernel32.rc for UTF-8 codepage (#4648)
- Move #pragma code_page(65001) line.
CORE-18177
2022-08-31 12:04:21 +09:00
Timo Kreuzer 39f11249ff [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +02:00
Andrew Boyarshin c15a9c1d09
[KERNEL32] lpNumberOfCharsWritten is optional for WriteConsole (#1079)
Some applications (and libraries, like replxx) rely on this undocumented behavior.
2022-08-12 01:58:18 +02:00
Timo Kreuzer f96bee30ed [KERNEL32] Fix printing exception address 2022-08-04 16:15:24 +02:00
Mark Jansen 8ea46b53e3
[KERNEL32] Fix reading SafeDllSearchMode 2022-05-25 22:43:47 +02:00
Justin Miller 4363e74ddc
[REACTOS] Finally get some ARM64 applications building (#4517)
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
George Bișoc bf40c7a310
[KERNEL32] Let KERNEL32 assign security to NLS section names
Currently Kernel32 doesn't make any server call to Basesrv in order to create NLS section names, instead it's Kernel32 itself that handles the job of NLS section names. With that said, let Kernel32 assign a security descriptor to NLS section names. See the FIXME comment on code for further dtails
2022-05-06 10:09:49 +02:00
George Bișoc 5696e4ba4d
[KERNEL32][BASESRV] Implement NLS section security
Implement code that deals with the security side of NLS, more specifically, create two security descriptors for NLS directory and NLS section names and let the server use such code.
2022-05-06 10:09:49 +02:00
Hermès Bélusca-Maïto 75e2fb4566
[KERNEL32] Improve annotation of BaseProcess/ThreadStartup(); remove useless cast; fix PPROCESS_START_ROUTINE return type. 2022-04-18 02:40:32 +02:00
Wu Haotian 0c42866e64
[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>
2022-03-31 20:30:52 +03:00
Chan Chilung 2752c42f0b
[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>
2022-03-31 17:10:21 +03:00
Oleg Dubinskiy 5d81de7d5b
[REACTOS] Update email in all my copyrights (#4415)
Change it to Gmail, because Yandex disabled ua domain, which was used in my previous email.
2022-03-31 01:53:30 +02:00
Hermès Bélusca-Maïto a94436b519
[KERNEL32] SetThreadUILanguage(): Validate the parameter. Use LANGIDFROMLCID() macro. (#4301)
Both ReactOS and Win2k3 only support '0' for the parameter.
2022-02-08 15:58:04 +01:00
Hermès Bélusca-Maïto 3e44a5d71c
[KERNEL32][CONSRV] Retrieve the best-suited language ID corresponding to the active console output code page. (#4301)
CORE-17601, CORE-17803
Replaces PR #4281.

Implement SrvGetConsoleLangId() (server-side) and set the new current
thread's locale after connecting to a console, or changing its output
code page.

Based on API tracing on Windows 2003, as well as on comments and code
gathered from: https://github.com/microsoft/terminal

Tests results are listed in PR #4301.
2022-02-08 15:58:02 +01:00
Serge Gautherie 1944d7b71b [KERNEL32] HeapCreateTagsW(): Sync' types and add annotations
See RtlCreateTagHeap().
2022-02-03 20:21:40 +01:00
Chan Chilung 171a920680
[TRANSLATION] Update Chinese Traditional (zh-TW) translation (#4154)
- Added translation for:
  - [W32TIME]
  - [MODE]
  - [TIMEOUT]
  - [MODEMUI]
  - [ARPING]
  - [FRAGINATOR]
  - and more
- Updated existing translation
- [WINNLS] Update cht (zh-TW) and zhh (zh-HK)
- [DOC] Update rules in Chinese translation notes.txt
- Wine translation sync

Some of the punctuation use in WIne has been converted to half-width,
so the punctuation will no longer synced.
2022-01-14 20:22:46 +03:00
Hermès Bélusca-Maïto afb04208f7
[KERNEL32] Add missing NTOS_MODE_USER when including the NDK. 2022-01-11 22:45:15 +01:00
Eric Kohl cf8380100e [KERNEL32] SetComputerNameExW: Truncate the computer name
This fixes the SetComputerNameExW api test.
2021-12-12 17:40:52 +01:00
Katayama Hirofumi MZ 581757d861 [KERNEL32_APITEST] Improve MultiByteToWideChar testcase
- Fix WinXP and ReactOS cases.

CORE-13349

NOTE: We use Win10's MultiByteToWideChar behaviour due to security reason.
2021-12-10 12:24:41 +09:00
Hermès Bélusca-Maïto d6d30f9e05
[KERNEL32] Don't hardcode some types in sizeofs, and some flag values. 2021-11-28 00:26:42 +01:00
Jose Carlos Jesus b3c6407d6e
[SYSSETUP][USETUP] [NLS] Update pt-PT translation (#4120)
- NLS: Change weekdays name to capital letter.
- USETUP: Fix typos to pt-PT translation.

- SYSSETUP: Update pt-PT translation.
  + Sync IDS_USER_ADMINISTRATOR_NAME and IDS_ADMINISTRATOR_NAME (in samsrv).
2021-11-24 01:57:11 +01:00
Thomas Faber 0af3689c2e
[REACTOS] Fix traces with missing arguments.
Courtesy of VS Code Analysis warning C6064:
Missing integer argument to 'DbgPrint' that corresponds to conversion specifier 'N'.
2021-11-21 12:57:35 -05:00
Stanislav Motylkov 4278f46620
[KERNEL32][WINNLS] GetGeoInfoW: Allow to get localized text
Previous implementation ignored the last LangId parameter,
and always used GetUserDefaultLCID() instead.
2021-10-24 23:42:06 +03:00
Oleg Dubinskiy 334ab0f2a5 [KERNEL32] Implement SetFileCompletionNotificationModes
Call native Nt* function to do the actual work, similarly to as it done in Wine: 530c183960:/dlls/kernel32/file.c#l258.
Also add/fix some declarations in internal kernel32/public ndk neaders, to fix compilation.
CORE-17821
2021-10-23 16:19:22 +02:00
Süleyman Poyraz 05c39d8d62
[TRANSLATION] Update Turkish (tr-TR) translations (#3958)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-10-10 16:00:12 +03:00
Victor Perevertkin 655ddfa8e2
[KERNEL32] FindFirstFileExW: fix syscall buffer alignment
NtQueryDirectoryFile required the FileInformation buffer to be
ULONG-aligned. Declare the aligned buffer explicitly.
2021-09-14 17:58:22 +03:00
Hermès Bélusca-Maïto 9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Hermès Bélusca-Maïto bbabe2489e
[FORMATTING][TRANSLATION] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine).
2021-09-13 03:52:21 +02:00
Süleyman Poyraz 53221834c5
[TRANSLATION] Add and improve Turkish (tr-TR) translation (#3561)
Reviewed-by: Can Taşan <ctasan99@hotmail.com>
Reviewed-by: Ercan Ersoy <ercanersoy@ercanersoy.net>
Signed-off-by: Süleyman Poyraz <zaryob.dev@gmail.com>
2021-09-12 00:34:11 +03:00