Commit graph

863 commits

Author SHA1 Message Date
Paul Gofman ed7aca011c kernelbase: Put 0 to output string even for 1 char buffer in LoadStringW(). 2023-11-09 14:38:32 +01:00
Paul Gofman d93e289977 kernelbase: Return empty string from LoadStringW() if resource is not found. 2023-11-09 14:38:32 +01:00
Paul Gofman f1db89768a kernelbase: Don't inherit all the handles in conhost.exe. 2023-11-07 20:55:08 +01:00
Alexandre Julliard 7ccb5df0fc makefiles: Always use the global SOURCES variable for .rc files. 2023-11-01 22:43:56 +01:00
Hans Leidekker fd00d8e4cc ntdll: Bump current build number to 19043 (Win10 2009).
Based on Proton commit 0fa76dd66a8.
2023-10-31 17:04:57 +01:00
Alexandre Julliard 0d3fd14747 kernelbase: Only support Wow64 system directories for 32-bit platforms. 2023-10-31 14:07:16 +01:00
Hans Leidekker 3f6510c1d6 kernelbase: Trace global memory counters in decimal. 2023-10-25 07:50:04 -05:00
Alexandre Julliard e57e885688 kernelbase: Export the extended context functions on all platforms. 2023-10-19 18:19:30 +02:00
Alexandre Julliard cf21c75bbf ntdll: Simplify platform checks for exception handling functions.
And sync the corresponding forwards.
2023-10-19 18:19:30 +02:00
Alexandre Julliard 64de93e300 makefiles: Always use the global SOURCES variable for .mc files. 2023-10-12 10:50:42 +02:00
Alex Henrie 0d7cf84709 include: Move RTL functions that belong in ntddk.h from winternl.h to ntddk.h. 2023-09-27 11:17:47 +02:00
Paul Gofman 9ff0569667 kernelbase: Support masks suggesting no extension in FindNextFile(). 2023-09-04 20:41:54 +02:00
Paul Gofman a90f695f78 kernelbase: Get unprocessed mask in FindFirstFileExW(). 2023-09-04 20:41:54 +02:00
Paul Gofman 68fecd77eb kernelbase: Duplicate file name matching code for FindNextFileW(). 2023-09-04 20:41:54 +02:00
Etaash Mathamsetty 240556e2b8 kernelbase: Add GetPackagePathByFullName stub. 2023-08-23 18:56:29 +02:00
Eric Pouech 3b7baae6e9 kernelbase: Correctly handle new process group flag in CreateProcess.
(when CREATE_NEW_CONSOLE is used).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech 82b0bb3c24 server: Separate console and new group flag (CreateProcess).
We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
- rightfully, as a sign to block ctrl-c events from being processed by
  handlers (and by default, terminating the process)
- But this was also used to request for the creation of a new process group.

This patch properly separates the two use cases, by using the
ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
behaves as this patch in RtlCreateUserProcess wrt.
RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).

Introduce process_group_id in startup_info_t and use it to pass it to
server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
set.

Note: this will change some external behavior.
- before this patch, a child process created with Ctrl-C disabled
  (ConsoleFlags set), couldn't turn it on as the process was detached
  from unix console.
- now, SIGINT handling is moved to kernelbase (and can be turned on/off at
  application will),
- when creating a new windows group id, the child will be detached from
  unix console, so will no longer receives the SIGINT from ctrl-c in unix
  console (if parent was attached to this unix console).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Eric Pouech e09dde5c94 kernelbase: Implement WaitForDebugEventEx().
Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:39:18 +02:00
Eric Pouech 090fb2cc19 kernelbase: Emit DBG_PRINTEXCEPTION_WIDE_C from OutputDebugStringW.
Also modifying WaitForDebugEvent() to force resending the ansi
DBG_PRINTEXCEPTION_C exception instead.

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-22 10:37:10 +02:00
Jactry Zeng d482010042 kernelbase: Implement URL_UNESCAPE_AS_UTF8 for UrlUnescapeW(). 2023-08-14 18:01:40 +02:00
Alexandre Julliard 2436da5cef include: Add some new information classes. 2023-07-13 18:41:13 +02:00
Alistair Leslie-Hughes b55cc1bf8a kernelbase: Remove DECLSPEC_HIDDEN usage. 2023-07-12 10:55:10 +02:00
Paul Gofman 4021dde40d kernelbase: Add stub for QueryIoRingCapabilities(). 2023-07-11 20:23:08 +02:00
Alexandre Julliard 7261aca185 kernelbase: Use ProcessWow64Information to retrieve the 32-bit PEB. 2023-07-11 14:15:30 +02:00
Zhiyi Zhang 884cff8214 kernelbase: Check if locale is NULL before using it in Internal_EnumDateFormats().
Initialize the calendars variable after checking if locale is NULL before using it to avoid NULL
pointer references. Fix a Excel 2016 crash when formatting dates with the custom format 'ddd'.
It calls EnumDateFormatsExEx() with the 'yi-Hebr' locale, which is added in Win10.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55099
2023-06-30 20:24:42 +02:00
Alexandre Julliard c908ad6fcd kernelbase: Don't define stdcall functions on non-i386. 2023-06-14 18:53:36 +02:00
Alexandre Julliard 0d2046ccf3 kernelbase: Use nameless unions/structs for IO_STATUS_BLOCK. 2023-06-06 21:09:32 +02:00
Alexandre Julliard 4f6a40b1e2 kernelbase: Use nameless unions/structs for CPU-related data. 2023-06-06 21:09:32 +02:00
Alexandre Julliard 9276d53ee8 kernelbase: Use nameless unions/structs for loader data. 2023-06-06 21:09:32 +02:00
Rémi Bernon 6e23814253 kernelbase: Comment out DECLSPEC_HOTPATCH for ConvertThreadToFiber. 2023-06-05 14:01:07 +02:00
Alexandre Julliard 58bc99dce6 kernelbase: Update timezone data to version 2023c. 2023-06-04 18:25:55 +02:00
Paul Gofman e7845fc330 kernelbase: Don't modify non-volatile regs in RaiseException() on x64. 2023-06-01 22:00:19 +02:00
Paul Gofman fce615a2c3 ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtUnmapViewOfSectionEx(). 2023-05-30 12:12:09 +02:00
Paul Gofman 3e3ca7dd28 ntdll: Validate flags in NtUnmapViewOfSectionEx(). 2023-05-30 12:12:09 +02:00
Paul Gofman 4806b1c226 kernelbase/tests: Add tests for MEM_PRESERVE_PLACEHOLDER with UnmapViewOfFile2(). 2023-05-30 12:12:09 +02:00
Paul Gofman f99b972771 ntdll/tests: Add more tests for placeholders. 2023-05-25 16:21:17 +02:00
Paul Gofman 4142d1e049 ntdll: Support MEM_PRESERVE_PLACEHOLDER in NtFreeVirtualMemory(). 2023-05-25 16:21:17 +02:00
Paul Gofman 383d43d6cc ntdll: Support MEM_RESERVE_PLACEHOLDER in NtAllocateVirtualMemoryEx().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Paul Gofman 376bd69c42 ntdll: Handle NULL process handle in MapViewOfFile3().
Based on a patch by Nikolay Sivov.
2023-05-25 16:21:17 +02:00
Alexandre Julliard d203af0fd7 kernelbase: Add support for the PROC_THREAD_ATTRIBUTE_MACHINE_TYPE attribute. 2023-05-24 15:43:54 +02:00
Alexandre Julliard ca7a7abe85 kernelbase: Add a helper function to validate process/thread attributes. 2023-05-24 15:43:54 +02:00
Francois Gouget c6ab26bd04 kernelbase/tests: Use win_skip() for missing APIs. 2023-05-11 22:53:14 +02:00
Alexandre Julliard 483a2203eb kernelbase: Move Wow64EnableWow64FsRedirection() from kernel32 to kernelbase.
Following recent Windows versions.
2023-05-11 22:53:14 +02:00
Paul Gofman d8fc23d86e kernelbase: Validate nonzero size for MEM_RELEASE in VirtualFreeEx(). 2023-05-11 13:51:12 +02:00
Zebediah Figura 8fb562f7c2 ntdll: Fix the prototype of NtDuplicateToken().
The fourth parameter is a boolean flag. The impersonation level is specified
only through the SECURITY_QUALITY_OF_SERVICE structure.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54913
2023-05-08 20:02:26 +02:00
Etaash Mathamsetty bd89ab3040 kernelbase: Add GetPackagesByPackageFamily stub. 2023-05-03 22:10:46 +02:00
Ake Rehnman 5a3fd972f4 ntdll: Fix RtlValidSecurityDescriptor() return value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Ake Rehnman f6e11d6566 ntdll: Fix return value of RtlInitializeSid().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-03 16:48:44 +02:00
Alexandre Julliard cab914c3aa kernelbase: Move to a higher address on 64-bit. 2023-04-22 17:34:32 +02:00
Jinoh Kang 3268601dae kernelbase: Implement activation context switching for fibers. 2023-04-19 20:26:15 +02:00