Jérôme Gardou
d712c895fd
[RTL] Fix a typo & remove useless cast
2021-02-01 09:09:19 +01:00
Jérôme Gardou
6a4c6ea5d0
[RTL] Implement RtlTryAcquireSRWLockExclusive & RtlTryAcquireSRWLockShared
2021-01-29 18:42:54 +01:00
Jérôme Gardou
2486558ae1
[RTL] Do not mess with critical section lock when there is no reason to.
...
- When process is shutting down.
- When the caller is so drunk that they leave twice the pub altough they entered it only once.
2021-01-29 18:18:09 +01:00
Jérôme Gardou
6d697561f0
[RTL] Fix heap usage flags
...
- Use Heap->ForceFlags where needed
- Use passed-in flags instead of the heap flags in some places
- Do not recursively acquire the heap lock
2021-01-29 09:42:13 +01:00
Joachim Henze
b0d136ffcf
[RTL] Fix build on MSVC bots part 2
...
Then stick with your stupid PCH on master already.
Addendum to 0.4.15-dev-1453-g 4ad7b6d
2020-12-17 15:01:50 +01:00
Joachim Henze
dd3c540928
[RDBSSLIB][RTL] Fix build on MSVC bots
...
Addendum to 0.4.15-dev-1453-g 4ad7b6d
Looks like CMake on master does not longer understand the syntax of
replace_compile_flags().
Will investigate that later again, when other issues have been
solved that do currently prevent me from testing that locally at all.
Most likely remove_target_compile_option() has to be used instead now.
2020-12-17 14:33:26 +01:00
Joachim Henze
4ad7b6d634
[APISETS][RDBSSLIB][RTL] Fix some build issues for MSVC Rls-config CORE-17402
...
A subset of the patch that is intended to fix all build issues in releases/0.4.14
for compiler MSVC 2010SP1 16.0.40219.1 with RosBE 2.1.6
I left out the changes for disk_new in master because the drivers sources
were replaced since the branching.
Thanks to Mark Jansen for providing the apisets part.
VBox https://reactos.org/testman/compare.php?ids=75522,75524
KVM https://reactos.org/testman/compare.php?ids=75521,75523
2020-12-17 13:31:43 +01:00
Timo Kreuzer
883ae6d93b
[RTL] Fix RtlImageDirectoryEntryToData to support both 32 and 64 bit images
2020-12-06 16:37:57 +01:00
Timo Kreuzer
cb22d5f697
[NTOS:PS] On x64 don't fail in NtSetInformationProcess with ProcessUserModeIOPL information class, instead just don't do anything.
...
For NT6+ appcompat setting return STATUS_NOT_IMPLEMENTED
2020-09-20 23:08:17 +02:00
William Kent
427ea67b9c
[RTL] Add code to SxS manifest parser to parse XML namespaces ( #2512 )
...
* [XDK] Typo fix
* [XDK] Add missing ACTIVATION_CONTEXT_SECTION values
* [RTL] Merge changes from Wine
* [ROSTESTS] Fix typo
* [NTDLL] Typo fix
* Add test for new functionality
* [ROSTESTS] Fix path
* [ROSTESTS] Add test to testlist.c
2020-09-20 22:56:42 +02:00
Timo Kreuzer
61192390cf
[KERNEL32_VISTA][NTDLL_VISTA][RTL_VISTA] Move Vista Rtl functions from kernel32_vista and ntdll_vista to rtl_vista ( #3149 )
...
* Move RtlRunOnce functions from kernel32_vista to rtl_vista and export them from ntdll_vista
* Move condvar.c and srw.c from ntdll_vista to rtl_vista
* Move ntdll_vista build script to a subfolder of ntdll
The RtlRunOnce functions are taken from wine, completely unmodified.
The code that was in kernel32_vista had change that used a global keyed_event handle, but was never initialized, so we were still passing NULL thus using the global ExpCritSecOutOfMemoryEvent.
2020-09-12 15:04:02 +02:00
Thomas Faber
2fb2f1e4c5
[RTL] Allow RtlGetNextRange to be called on a finished iterator. CORE-6372
...
Fixes crash in kmtest:RtlRangeList.
2020-08-16 16:18:29 +02:00
Thomas Faber
52f103c85b
[RTL] Use LastEntryInSegment to speed up RtlpFindAndCommitPages. CORE-14588
2020-06-14 09:10:31 +02:00
Thomas Faber
c4f736e8f4
[RTL] Add and populate LastEntryInSegment. CORE-14588
2020-06-14 09:10:31 +02:00
Thomas Faber
dd83bcd6ad
[RTL] Create a define for the common members of HEAP and HEAP_SEGMENT. CORE-14588
...
The code relies on these members matching up, so it's confusing for them
to be duplicated.
2020-06-14 09:10:27 +02:00
Thomas Faber
4dedc8ff52
[RTL] Add FPO information to RtlpExecuteHandler. CORE-15723
2020-06-06 08:40:20 +02:00
Serge Gautherie
6808e40b3b
[SDK:RTL] RtlValidAcl(): Improve ACL error messages ( #2833 )
...
CORE-11506
2020-06-05 00:20:20 +03:00
Mark Jansen
d5f0b2b160
[RTL] Implement LdrpRecordUnloadEvent
2020-04-26 14:35:51 +02:00
Mark Jansen
f26b670b38
[RTL] Partially implement RtlCreateQueryDebugBuffer and RtlDestroyQueryDebugBuffer
2020-04-26 13:44:02 +02:00
Katayama Hirofumi MZ
774ef4e80e
[SDK][RTL][NTDLL_APITEST] Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap ( #2641 )
...
- Add RtlMultipleAllocateHeap and RtlMultipleFreeHeap functions (2k3+).
- Add a testcase for two functions.
CORE-12026
2020-04-24 17:45:43 +09: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
Oleg Dubinskiy
6f232770d3
[NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671
2020-02-09 08:37:58 +01:00
Timo Kreuzer
5fa4fd7bef
[RTL][NTDLL] Add some function stubs
...
- LdrSetAppCompatDllRedirectionCallback
- RtlCancelTimer
- RtlCreateServiceSid
- RtlQueryProcessHeapInformation
- RtlQueueApcWow64Thread
- RtlSetTimer
- RtlUnhandledExceptionFilter2
- RtlpNotOwnerCriticalSection
2020-01-03 13:00:45 +01:00
Timo Kreuzer
fb0ebac349
[NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64
2020-01-03 13:00:45 +01:00
Hermès Bélusca-Maïto
127fa1afc6
[RTL] Fix RtlValidateUnicodeString() regarding the tests and add some SAL annotations.
2020-01-02 21:11:28 +01:00
Hermès Bélusca-Maïto
a4b6e0d929
[SDK:RTL] Add one validity check + comment documentation for RtlDispatchException().
...
- RtlDispatchException(): Check for invalid stack in ExceptionContinueSearch handler
and bail out if so.
- Update few comments and fix a typo.
- Add a documenting comment about SafeSEH functionality support.
See e.g. the following articles:
https://www.optiv.com/blog/old-meets-new-microsoft-windows-safeseh-incompatibility
https://msrc-blog.microsoft.com/2012/01/10/more-information-on-the-impact-of-ms12-001/
2019-11-17 23:21:47 +01:00
Mark Jansen
029b8f2cf9
[NTDLL] Use the embedded manifest from the process to check compatibility.
2019-08-21 18:57:52 +02:00
Timo Kreuzer
58588b76e2
[REACTOS] Fix MSVC printf format warnings
2019-08-15 15:24:12 +02:00
Timo Kreuzer
7611cc2b12
[REACTOS] Fix SIZE_T related warnings
2019-08-15 14:20:00 +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
Thomas Faber
0e6581440e
[RTL] Fix failure check in RtlpCreateCriticalSectionSem.
2019-06-25 09:26:05 +02:00
Thomas Faber
a951d66002
[RTL] Fix GCC build.
2019-02-17 09:59:49 +01:00
Thomas Faber
7246909a80
[RTL] Protect pointer validity check in RtlFreeHeap with SEH.
...
Fixes crash in kernel32_winetest:heap.
2019-02-17 09:51:12 +01:00
Mark Jansen
e1aae1c620
[RTL] Implement RtlComputePrivatizedDllName_U
2019-02-07 18:48:49 +01:00
Mark Jansen
db8488e5ca
[SDK] Reset InDbgPrint state when an exception occurs
...
Previously this would not get reset, and all debug prints from the
current thread would be muted.
2019-01-05 15:21:40 +01:00
Andrew Boyarshin
04c851194c
[NTDLL][RTL] Implement RtlGetFullPathName_UEx
2019-01-05 13:33:28 +01:00
Hervé Poussineau
c4d25d27f6
[RTL] Fix RtlNewSecurityGrantedAccess improperly zeroing output buffer
2018-12-31 11:19:36 +01:00
Hermès Bélusca-Maïto
47d539e6e0
[RTL] Make a RtlQueryEnvironmentVariable_U() DPRINT a little bit more useful.
2018-10-13 19:44:13 +02:00
Mark Jansen
57ed670b5a
[RTL] actctx: When probing a dll for a manifest, use the first manifest id present,
...
instead of always searching for CREATEPROCESS_MANIFEST_RESOURCE_ID.
CORE-9519
2018-10-01 20:16:10 +02:00
Mark Jansen
9b6fb9f2f8
[RTL][KERNEL32] Add a comment indicating we need SEH in RtlImageNtHeaderEx
...
CORE-14532
CORE-14857
2018-08-13 13:24:12 +02:00
Serge Gautherie
97d3b3ce33
[REACTOS] RtlAssert(): use "%lu" as LineNumber format.
2018-08-08 21:24:07 +02:00
Timo Kreuzer
3b78272d39
[NDK] Fix alignment macros and add missing ones
...
Remove obsolete ALIGN_UP_BY macro definition
2018-07-01 14:45:21 +02:00
Eric Kohl
0f8e720711
[NTDLL_APITEST][LIB_RTL] Add a test for RtlQueryTimeZoneInformation and fix the bug in RtlpQueryRegistryDirect
...
In working on some problems with Time Zone adjustments in ReactOS I found that the RtlQueryTimeZoneInformation function is partially broken and wrote an apitest to capture the failures.
Patch by Doug Lyons.
CORE-14658
2018-05-31 16:47:42 +02:00
Mark Jansen
9aa26b9c23
[RTL] actctx: Use the new RosGetProcessCompatVersion.
2018-04-09 19:36:09 +02:00
Giannis Adamopoulos
e195199a51
Fix build
2018-04-09 01:42:17 +03:00
Giannis Adamopoulos
8d3045622e
[RTL] actctx.c: Use an alternative implicit activation context when an application is built for latest windows versions.
...
Instead of loading systemcompatible.manifest as the implicit activation context, load forwardcompatible.manifest
Add a new assembly containing all apisets called ReactOS.Apisets and make it a dependency to forwardcompatible.manifest
2018-04-09 01:28:43 +03:00
Mark Jansen
19912955f6
[RTL] Fixes for supportedOS close elements.
...
Imported from wine
f8cca44: ntdll: Allow closing tags for 'supportedOS' elements.
697d4a7: ntdll: Allow explicitly specified asm.v2 namespace for "trustInfo".
2018-04-09 00:07:31 +02:00
Timo Kreuzer
6b1ca75899
[REACTOS] Fix 64 bit build ( #465 )
...
* [HAL] Simplify HalpReboot() and make it portable
* [NTOS:MM] Cast constant to PVOID
* [BINPATCH] Fix 64 bit build
* [VFDDRV] Fix 64 bit build and buffer overruns
* [USBOHCI] Fix structure alignment issues
* [ATL_APITEST] Fix 64 bit build
* [XDK] Update unwind structures in winnt.h
* [NTDLL_APITEST] Fix 64 bit build
* [NTDLL_WINETEST] Fix 64 bit build
* [TFTPD] Fix x64 build
* [USBPORT] Fix a C_ASSERT
* [DSOUND] Fix x64 build
* [HAL] Remove obsolete GetPteAddress() macro
2018-04-03 15:13:17 -06:00
Mark Jansen
ee7f479c57
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-37c98396
...
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
2018-02-19 22:23:39 +01:00
Alex Ionescu
16e0cca7e1
[RTL]: Document and flesh out Boot Status Data (BSD) API/Structures
...
[NDK]: Document latest RTL_BSD_DATA as of RS3 based on ext.dll WinDBG
extension "!blackboxbsd" which outputs the entire structure field by
field :).
[NDK]: Update RTL_BSD_ITEM_TYPE thanks to ole32 symbols
[RTL]: Move system volume APIs to sysvol.c
[RTL]: Fill out BsdItemTable based on actual field offsets/sizes and not
hardcoded magic numbers which we won't ask where they came from.
[RTL]: Make RtlCreateBootStatusDataFile use an appropriate structure for
initializing the buffer instead of "UCHAR Buffer[12] = {0xC,0,0,0,
1,0,0,0, 1, 0x1e, 1, 0};" which appears like magic knowledge.
[RTL]: Rename "WriteMode" to "Read" in RtlGetSetBootStatusData since
it's much less confusing.
[RTL]: Some formatting fixes, SAL updates.
2018-02-04 09:33:32 -08:00