reactos/sdk/lib/rtl
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
..
amd64 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
arm
i386 [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
powerpc
access.c
acl.c
actctx.c [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
appverifier.c
assert.c
atom.c
avlsupp.c
avltable.c
bitmap.c
bitmap64.c
bootdata.c
byteswap.c
CMakeLists.txt
compress.c
crc32.c
critical.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
dbgbuffer.c
debug.c [SDK] Reset InDbgPrint state when an exception occurs 2019-01-05 15:21:40 +01:00
dos8dot3.c
encode.c
env.c
error.c
exception.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
generictable.c
handle.c
heap.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
heap.h
heapdbg.c
heappage.c
heapuser.c
image.c [RTL] Introduce RtlpImageNtHeader, 2020-03-29 21:27:38 +02:00
interlck.c
largeint.c
luid.c
mem.c [NDK][XDK][RTL] Fix definition of RtlFillMemoryUlong on x64 2020-01-03 13:00:45 +01:00
memstream.c
message.c
network.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
nls.c
path.c [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
ppb.c
prefix.c
priv.c
process.c
propvar.c
random.c
rangelist.c
readme.txt
registry.c [NTDLL_APITEST][LIB_RTL] Add a test for RtlQueryTimeZoneInformation and fix the bug in RtlpQueryRegistryDirect 2018-05-31 16:47:42 +02:00
res.c
resource.c
rtl.h
rtlavl.h
rtlp.h [NTDLL] Use the embedded manifest from the process to check compatibility. 2019-08-21 18:57:52 +02:00
rxact.c
sd.c
security.c
sid.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
slist.c
splaytree.c
sysvol.c
thread.c [KERNEL32][RTL] Diverse fixes/improvements for thread stack creation code. (#802) 2019-08-01 19:04:13 +02:00
time.c
timerqueue.c [RTL][NTDLL] Add some function stubs 2020-01-03 13:00:45 +01:00
timezone.c
trace.c [NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
unicode.c [RTL] Fix RtlValidateUnicodeString() regarding the tests and add some SAL annotations. 2020-01-02 21:11:28 +01:00
unicodeprefix.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
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.