Commit graph

112 commits

Author SHA1 Message Date
Victor Perevertkin 46ca069e42
[XDK] Remove UNREFERENCE_LOCAL_VARIABLE macro
Change UNREFERENCED_PARAMETER to (VOID)P to support const parameters
2021-01-19 00:15:02 +03:00
Timo Kreuzer 8df1bd612a [KERNEL32] Fix register initialization in BaseInitializeContext
Get rid of BaseThreadStartupThunk and BaseProcessStartThunk asm wrappers and go to the C functions directly (home space is allocated on the stack by the kernel)
2020-11-07 18:33:02 +01:00
Timo Kreuzer d8b5c00c33 [KERNEL32_VISTA] Move vista.c from kernel32 to kernel32_vista
- Remove duplicated functions
- Use AreFileApisANSI() instead of global variable bIsFileApiAnsi in shared kernel32_shared
2020-09-25 09:45:54 +02:00
Timo Kreuzer fcd83242d4 [KERNEL32] Move some functions into a static library to be shared between kernel32 and kernel32_vista 2020-09-25 09:45:54 +02:00
Timo Kreuzer 4e72da0858 [KERNEL32_VISTA] Move under kernel32 2020-09-25 09:45:54 +02:00
Katayama Hirofumi MZ 378b26ce27
[KERNEL32] Improve SetComputerNameExW (#3171)
Reduce failures of kernel32_apitest SetComputerNameExW testcase and improve SetComputerNameExW.
2020-09-17 23:51:47 +09:00
Serge Gautherie 4aeb45ce0c
[KERNEL32] GetPriorityClass(): Return explicit 0, not FALSE (match return type) (#3170) 2020-09-12 21:38:06 +02:00
Serge Gautherie 8140203940
[KERNEL32] FatalAppExitW: Add an 'UNREFERENCED_LOCAL_VARIABLE(Status)' (#2883)
Addendum to 21d2accad3 (r71793).
2020-06-04 23:35:54 +03:00
Julen Urizar Compains 546862babc
[TRANSLATION] Update Spanish, and add Basque translation (#2667)
Add/update translation for:
charmap_new, logoff, mspaint, notepad, usetup, welcome,
hotplug.cpl, sysdm.cpl, aclui.dll, comctl32.dll, comdlg32.dll,
hhctrl.ocx, kernel32.dll, msi.dll, oledlg.dll, shell32.dll,
tapiui.dll, themeui.dll, wininet.dll, winmm.dll, wldap32.dll,
winsrv.dll.
2020-05-17 18:46:36 +02:00
Kyle Katarn c1fad34755
[WINNLS] Fix of GetCurrencyFormatW to handle "32" grouping format (#2719) 2020-05-10 08:34:35 +02:00
Mark Jansen 177ae91bf6
[RTL] Introduce RtlpImageNtHeader,
which implements the required functionality.
ntdll and ntoskrnl now have a wrapper for this, with SEH.
This protects the function against malformed / bad images,
whilst still being able to use the code in freeldr et al.
Idea from Thomas.
CORE-14857
2020-03-29 21:27:38 +02:00
Hermès Bélusca-Maïto 98b58df2bf
[KERNEL32:CONSOLE] Explicitly use _WIN32_WINNT_VISTA. 2020-03-02 01:08:36 +01:00
Hermès Bélusca-Maïto 570eba2a52
[KERNEL32][CONSRV] Use more often the internal ConioRectHeight/Width() and ConioIsRectEmpty() macros. 2020-02-22 21:15:58 +01:00
Eric Kohl c645660384 [KERNEL32] Improvements to Get/SetComputerNameExW
- The ComputerNamePhysicalDnsDomain name type gets or sets the 'NV Domain' registry value.
- The ComputerNamePhysicalDnsHostname name type gets or sets the 'NV Hostname' registry value.
- IsValidComputerName: Enforce name length restrictions according to the name type.
2020-01-19 13:34:31 +01:00
Katayama Hirofumi MZ ccc52d2e5b
[KERNEL32] Fix multibyte conversion in default char (#2111)
Fix kernel32!MultiByteToWideChar function. The default character was wrong. CORE-16468
2019-11-30 15:10:10 +09:00
Oleg Dubinskiy c6b64448ce [KERNEL32] Stub GetSystemTimePreciseAsFileTime 2019-11-29 09:03:09 +01:00
William Kent 192926ee02 Stub GetCurrentPackageId() (#1942)
* [KERNEL32] Add stub implementation for GetCurrentPackageId() function

This Windows 8+ function is called by WiX bundles (EXE-based installers) upon exit, if the export is present. If it is a stub in the spec, they will crash, even if they are coded to be compatible with Windows XP/ReactOS.
Also add GetCurrentPackageId() forwarder to apiset.
2019-11-29 08:56:02 +01:00
Joachim Henze 93220e26d0 [KERNEL32] The DPRINT again - Nevermind
Tribute to DepositePirate.

This reverts commit 4ed0c1acef.
2019-11-03 23:41:34 +01:00
Joachim Henze 4ed0c1acef [KERNEL32] Fix typo in DPRINT
I checked: this is no Wine synced code.
2019-11-03 22:30:35 +01:00
Katayama Hirofumi MZ a63678c9a9
[KERNEL32] Fix MultiByteToWideChar(CP_UTF8, ...) (#2007)
CP_UTF8 validation was not strict. 5- or 6-byte length sequences are invalid in RFC 3629 UTF-8. CORE-16468

- Fix MultiByteToWideChar(CP_UTF8, ...) by making check strict.
2019-11-02 14:16:26 +09:00
Pierre Schweitzer 0ce3941b41
[KERNEL32] Fix FIXME by calling appropriate function in GetNativeSystemInfo() 2019-10-02 10:52:00 +02:00
Denis Malikov 18a9993d69 [KERNEL32] implement CreateSemaphoreExW/A and adjust macroses for it 2019-08-15 15:50:59 +02:00
Serge Gautherie 40ab30d6a0 [KERNEL32] Partially fix dll/win32/kernel32/client/vista.c compilation as NT6
CORE-12596
2019-08-15 15:42:34 +02:00
Hermès Bélusca-Maïto 44cddadba8
[KERNEL32] Minor enhancements for CreateRemoteThread(). (#804)
- Add some cleanup code in failure code paths, instead of asserting.
- Move BasepNotifyCsrOfThread() helper to the only file where it is used.
- Don't use ERROR_DBGBREAK in failure paths but just DPRINT the error
  message: we handle the failures properly.
- When creating the remote thread, sync its service tag with the parent
  thread's one.
2019-08-01 19:12:49 +02:00
Hermès Bélusca-Maïto effdb6f232
[KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802)
- kernel32!BaseCreateStack() is compatible with ntdll!RtlpCreateUserStack().
- When checking whether a stack guard page can be added, its size has to
  be accounted for in the checking logic.
- We have to satisfy the PEB::MinimumStackCommit constraint.
- We cannot use PEB::GuaranteedStackBytes in BaseCreateStack() since it is
  nowhere initialized (default is 0). It gets initialized to a non-zero
  value when the user manually calls SetThreadStackGuarantee().
  https://www.installsetupconfig.com/win32programming/windowsthreadsprocessapis7_6.html

- RtlpCreateUserStack(): Fix memory leak in failure case.
- RtlpFreeUserStack() doesn't need to return anything.

See also commit 1bc59379 (r59868).

CORE-11319
2019-08-01 19:04:13 +02:00
Timo Kreuzer 1b70ddd834 [KERNEL32] Improve path name handling
Fixes GCC 8 warning:
dll/win32/kernel32/client/loader.c: In function 'LoadLibraryA':
dll/win32/kernel32/client/loader.c:129:17: error: 'strncat' specified bound 13 equals source length [-Werror=stringop-overflow=]
                 strncat(PathBuffer, "\\twain_32.dll", 13);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-07-20 13:56:18 +02:00
Katayama Hirofumi MZ 2db0e159a4
[KERNEL32] Fix SetComputerNameExW (#1583)
Based on @Doug-Lyons's patch. CORE-16058
2019-05-27 16:18:38 +09:00
Pierre Schweitzer ea7aca8bdd
[KERNEL32] Drop unused line breaks 2019-05-08 18:34:28 +02:00
Pierre Schweitzer 204bfa8574
[KERNEL32] Misc. fixes to DefineDosDeviceW
- Add support for LUIDDeviceMapsEnabled;
- Broadcast proper message in case of device removal;
- Use less memory for strings management;
- Make code a bit cleaner.
2019-05-05 18:33:15 +02:00
Pierre Schweitzer 5d20d512be
[KERNEL32] Rewrite QueryDosDeviceW to handle global and local MS-DOS namespaces
It also comes with a small performance boost: instead of performing object
queries one after another, we query them all at once.
2019-05-05 14:18:09 +02:00
Pierre Schweitzer 8d128aa441
[KERNEL32] Reduce QueryDosDeviceA memory footprint
by using TEB static unicode string (which is already
preallocated).
Also, properly handle RtlUnicodeStringToAnsiString failures.
Finally, make sure output buffer is properly 0 terminated.
2019-05-05 10:17:16 +02:00
Pierre Schweitzer 1ed7f27466
[KERNEL32] Reduce DefineDosDeviceA memory footprint
by using TEB static unicode string (which is already
preallocated).
2019-05-05 10:17:16 +02:00
Hermès Bélusca-Maïto 77d234b049
[KERNEL32] Addendum to 0e3a0435 (PR #803): always return TRUE in the stub-plemented SetThreadStackGuarantee() to continue satisfying programs that use it. CORE-15989 2019-04-29 22:51:35 +02:00
Hermès Bélusca-Maïto 0e3a043526
[KERNEL32] Add an (incomplete) pre-implementation for SetThreadStackGuarantee(). (#803)
This should remove some of the "SetThreadStackGuarantee(): stub" messages in some simple cases.
2019-04-27 18:41:50 +02:00
Eric Kohl afca8367ea [KERNEL32] GetSystemPowerStatus(): Set the BATTERY_FLAG_CRITICAL flag if the battery life gets lower than 5 percent. 2019-04-19 22:30:46 +02:00
Eric Kohl 333eb16f30 [KERNEL32] GetSystemPowerStatus(): Fix coding style. No code changes! 2019-04-19 22:28:11 +02:00
Katayama Hirofumi MZ 083d6be31e [KERNEL32] Implement InvalidateNLSCache 2019-04-16 21:41:58 +09:00
Katayama Hirofumi MZ a004233bd3 [KERNEL32] Fix handle leak and caching (follow-up of 7e38267) 2019-04-16 20:57:02 +09:00
Katayama Hirofumi MZ 7e3826786e [KERNEL32] Era first year is GANNEN 2019-04-16 11:10:00 +09:00
Katayama Hirofumi MZ 15537c3bbe
[KERNEL32] Support Japanese calendar (#1482)
Implement the Japanese calendar in kernel32. Locale info and date formatting. CORE-15920
2019-04-07 20:20:23 +09:00
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Katayama Hirofumi MZ c7bebe40cb
[KERNEL32] Improve MultiByteToWideChar (#1477)
Reduce MultiByteToWideChar failures. CORE-13349
2019-04-06 20:11:07 +09:00
Julien Schueller 23d0aead53 [KERNEL32] Fix typo in kernel32.spec (#1453) 2019-04-02 15:48:41 +02:00
Mark Jansen 5c05a29d3d
[APPHELP] Implement ShimDumpCache and ShimFlushCache
These functions simply call into the Base* functions,
having a prototype that is compatible with rundll32
CORE-11301
2019-02-25 20:00:34 +01:00
Pierre Schweitzer db3f3921b6
[KERNEL32] Stub SetThreadErrorMode()
Now, Steam crashes because of the stub of GetSystemTimePreciseAsFileTime

CORE-14966
2019-02-16 14:12:55 +01:00
Eric Kohl 38160b207d [KERNEL32] GetComputerNameExW: Fix crash in kernel32_winetest environ test 2019-01-07 22:45:33 +01:00
Denis Malikov 655d24d9eb [KERNEL32] make some NLS and Format functions work. Wine-sync with latest version 2019-01-05 19:01:30 +01:00
Timo Kreuzer cfd1647914
[REACTOS] Fix misc 64 bit issues (#783)
* [WIN32K] Fix handle calculation in DbgGdiHTIntegrityCheck
* [NOTEPAD] Fix MSVC warnings
* [PSDK] Simplify *PROC definitions in windef.h
* [VIDEOPRT] Don't try to use NtVdmControl on x64
* [FREELDR] Fix some macros
* [CRT] Make qsort 64 bit compatible
* [NTOS] Use #ifndef _WIN64 instead of #ifdef _M_IX86 around C_ASSERTs
* [FAST486] Fix 64 bit warnings and change DWORD to ULONG, so it can be used in kernel mode
* [APPHELP_APITEST] Fix 64 bit issue
2019-01-05 10:50:11 +01:00
Eric Kohl b2819c353c [KERNEL32] Store the current computer name in the volatile ActiveComputerName key on first query in order to ensure that the visible computer name does not change until the next reboot. 2018-12-16 10:28:26 +01:00
Mark Jansen faddd38b36
[KERNEL32] Revert d897e27, which would re-initialized a list.
Spotted by Andrew Boyarshin.
2018-12-03 20:48:14 +01:00