reactos/sdk/lib/rtl
Ratin Gao bd0a5498b0
[NTDLL:LDR] Little fixes about SAL annotation and behavior (#5793)
- Uniform function declarations in .c and .h with fixes and SAL2 improvements.
- Use LDR_[UN]LOCK_LOADER_LOCK_FLAG_XXX correctly.
- Fix incorrect UsedSize calculation in LdrQueryProcessModuleInformationEx (caught by ThFabba).
- Whatever the callback request stop the enumeration or not in LdrEnumerateLoadedModules, the following operations should be the same.
- Fix 2 incorrect DPRINT1 that printed incorrect parameter.
- Return error if RtlAllocateHeap failed in LdrpGetProcedureAddress, and add comments about NT6.2 new changes.
2023-11-15 20:59:32 +01:00
..
amd64 [RTL] Implement RtlUnwind 2022-11-24 21:17:58 +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 [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
compress.c
condvar.c
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
heap.h
heapdbg.c
heappage.c [RTL] Use RtlApplicationVerifierStop for DPH 2022-11-01 21:26:05 +01:00
heapuser.c
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 [SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN(). 2022-04-07 03:19:06 +02:00
path.c [SDK:RTL] Consistently use the Allocate/FreeStringMemory helpers when allocating/freeing string buffers. 2022-03-25 18:54:21 +01:00
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 [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader... 2022-04-07 03:19:09 +02:00
rtl_vista.h [SDK:RTL] Don't copy-paste rtl.h into rtl_vista.h; just include it instead. 2022-03-25 18:54:20 +01:00
rtlavl.h
rtlp.h [BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader... 2022-04-07 03:19:09 +02:00
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] Implement x64 version of RtlInterlockedPushListSList 2022-11-24 21:17:58 +02: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 [RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead. 2022-04-03 20:41:11 +02: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.