reactos/sdk/lib/rtl
Timo Kreuzer 83e741c643 [RTL/x64] Implement RtlRaiseException in asm
This fixes invalid contexts being passed to RtlDispatchException. Also update the ExceptionAddress field in the EXCEPTION_FRAME, to match the Rip value in the CONTEXT, which is required for proper unwinding.
2024-04-14 14:12:35 +02:00
..
amd64 [RTL/x64] Implement RtlRaiseException in asm 2024-04-14 14:12:35 +02:00
arm
i386
access.c
acl.c [SDK:RTL] Fix the ACE revision check in RtlpAddKnownObjectAce 2023-08-22 17:54:18 +02:00
actctx.c
appverifier.c
assert.c [KERNEL32][NTOS:PS][RTL] Cleanup some DbgPrompt() calls. 2023-01-06 14:44:49 +01:00
atom.c Fix typo "managment" -> "management" in our codebase... 2023-06-04 21:39:56 +02:00
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt
compress.c
condvar.c [NTDLL] Initialize keyed event for condition variables 2023-12-16 13:52:15 +02:00
crc32.c
critical.c [RTL] Satisfy the RtlpTimeoutDisable condition when waiting for critical sections (#4089) 2023-09-21 13:33:28 +02:00
dbgbuffer.c
debug.c
dos8dot3.c
encode.c
env.c
error.c
exception.c
generictable.c
handle.c [REACTOS] Fix typos in comments (#5591) 2023-08-22 16:20:29 +03:00
heap.c [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
heap.h [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
heapdbg.c
heappage.c [RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
heapuser.c [RTL] Implement RtlGetProcessHeaps 2023-12-17 22:28:24 +01:00
image.c [NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793) 2023-11-15 20:59:32 +01:00
interlck.c
largeint.c
luid.c
mem.c
memstream.c
message.c
network.c
nls.c
path.c
ppb.c
prefix.c
priv.c [NTDLL] Fix some vista exports 2023-08-11 19:00:42 +03:00
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c [SDK:RTL] RtlpCallQueryRegistryRoutine(): Correctly set SpareData and SpareLength (#5466) 2023-09-20 18:06:06 +02:00
res.c
resource.c
rtl.h
rtl_vista.h
rtlavl.h
rtlp.h
runonce.c [KERNEL32][RTL] Implement One-Time initialization API and improve RTL support (#5046) 2023-09-06 15:40:53 -07:00
rxact.c
sd.c [RTL] Improve usage of absolte vs self-relative security descriptors 2023-09-26 18:01:45 +03:00
security.c [RTL] RtlDefaultNpAcl(): Don't hardcode SidBuffer size, but deduce it through FIELD_OFFSETs. 2022-11-03 02:50:21 +01:00
sid.c
slist.c [RTL/x64] Fix a GCC compiler warning 2024-03-19 07:42:35 +01:00
splaytree.c
srw.c
sysvol.c
thread.c
time.c
timerqueue.c
timezone.c
trace.c
unicode.c [RTL][NTDLL] Implement and export RtlCompareUnicodeStrings 2023-08-19 23:52:21 +03:00
unicodeprefix.c [NDK] Fix description for PIO_APC_ROUTINE. 2022-11-26 02:38:52 +01:00
utf8.c
vectoreh.c
version.c
wait.c
workitem.c

RTL restrictions:

ExAllocatePool (and friends) must be used exclusively. RtlAllocateHeap (and friends) must NOT be used! ExAllocatePool (and friends) translate to RtlAllocateHeap (and friends) in ntdll\rtl\libsupp.c.

RtlEnterCriticalSection (and friends) must be used exclusively. ExAcquireFastMutex (and friends) must NOT be used! RtlEnterCriticalSection (and friends) translate to ExAcquireFastMutex (and friends) in ntoskrnl\rtl\libsupp.c. This means that RtlEnterCriticalSection (and friends) can NOT be used recursively in RTL. The reason for choosing RtlEnterCriticalSection (and friends) over ExAcquireFastMutex (and friends) is that the FAST_MUTEX struct is smaller than the RTL_CRITICAL_SECTION struct.