Commit graph

30 commits

Author SHA1 Message Date
Elliot Killick 932aef40f7
[LDR][NDK] Fix inconsistent Cookie type (#6188)
Make LdrUnlockLoaderLock Cookie type consistent with LdrLockLoaderLock
and LdrpMakeCookie functions.

In addition:
* Adjustment of the formatting string for ULONG_PTR;
* ntdll.spec: specify ptr for 2nd parameter of LdrUnlockLoaderLock:
  This is a parameter whose length is pointer-like, platform-dependent.

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2023-12-23 22:13:47 +01:00
Hermès Bélusca-Maïto 16b4c9ff3c
[NTDLL] Fix long vs. ptr in some Ldr* exports 2023-11-21 22:23:54 +01:00
Timo Kreuzer 8f6aaa8af6 [RTL][NTDLL] Implement and export RtlInitializeCriticalSectionEx 2023-09-07 08:36:48 +03:00
Timo Kreuzer d00d883a21 [RTL][NTDLL] Implement and export RtlCompareUnicodeStrings 2023-08-19 23:52:21 +03:00
Hermès Bélusca-Maïto df0349b49f
[NTDLL] .spec file: First parameter in RtlImageDirectoryEntryToData should be 'ptr'. 2023-08-19 19:01:00 +02:00
Timo Kreuzer 49da1cdbeb [NTDLL] Fix some vista exports
Make sure RtlRemovePrivileges gets compiled, when DLL_EXPORT_VERSION is 0x600+
Enable all existing functions from rtl_vista.
Hack CsrNewThread export to exist on later versions, too
2023-08-11 19:00:42 +03:00
Hermès Bélusca-Maïto 0e14378d3e
[SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821)
This DLL was exporting legacy NT-incompatible or ROS-specific SM client
functions, that have been since 10 years now (2012) replaced by the new
NT-compatible SM:

- SmConnectApiPort(): was just SmConnectToSm().

- SmCompleteSession():
  The legacy SMSS used it for when a subsystem initialization was finished.
  Now (NT-compatible) this function is called by subsystems **only** when a
  subsystem session **terminates**: SmSessionComplete().

- SmExecuteProgram(): was just the client side of SmLoadDeferedSubSystem()
  (whose server side is not implemented yet). The legacy SM "old" SmExecPgm
  implementation actually was "SmLoadDeferedSubSystem"...

- SmLookupSubsystem(): is a utility-only function to read any registry value
  inside "Session Manager\SubSystems".

Move SMDLL's readme into SMLIB and update its contents.

Collect some residual useful functions into smutils.c (and moved in SMLIB,
though not compiled yet):
- SmExecuteProgram(), now implemented as a wrapper around SmExecPgm();
- SmLookupSubsystem(), described above;
- SmQueryInformation(), that retrieves a list of currently-running subsystems.

[SMLIB] Validate SbApiPortName's length in SmConnectToSm().
Fix CommandLine length validation in SmStartCsr().

Add documentation (+ SAL annotations) to the NT-compatible SMSS client functions.

smmsg.h: Add both Win32 and Win64 struct sizes C_ASSERTs for those whose size
change between these two processor architecture sizes.

[SMLIB] Introduce SmSendMsgToSm() as helper to send data into the SM LPC port.
+ Make the other API functions use it.

It should be observed that in Vista+, both functions SmConnectToSm() and this
new SmSendMsgToSm() are exported by NTDLL under the names RtlConnectToSm()
and RtlSendMsgToSm() (and use the same signature).
See: https://www.geoffchappell.com/studies/windows/win32/ntdll/history/names60.htm

[NTDLL] Correctly stub RtlConnectToSm() and RtlSendMsgToSm().
[NTDLL_VISTA] Link to SMLIB and simply export RtlConnectToSm() and RtlSendMsgToSm().
2022-11-08 17:40:53 +01:00
Hermès Bélusca-Maïto 4ac263c93a
[NTOS][NTDLL][NDK] Nt/ZwCreatePagingFile: Fix parameter names + use SAL; fix NTDLL spec file. 2022-11-03 02:55:50 +01:00
Mark Jansen 15d491fb29
[NTDLL] Implement LdrInitShimEngineDynamic.
This is the final step required to properly support SE_DynamicShim
CORE-13283
2022-10-26 20:12:21 +02:00
Hermès Bélusca-Maïto 5cfb71baf8
[NTDLL] Properly stub out RtlRegisterThreadWithCsrss() in spec file. 2022-10-26 00:43:57 +02:00
Ratin Gao badd97043f
[RTL][NTDLL_APITEST] Implement RtlRemovePrivileges (#4614)
Vista+ API, compile-time guarded.
Add tests for it.
2022-10-05 14:31:39 +02:00
Timo Kreuzer 8521f6d7b5 [RTL] Implement dynamic function tables for x64 2022-06-25 21:45:47 +02:00
Justin Miller 4363e74ddc
[REACTOS] Finally get some ARM64 applications building (#4517)
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
Stanislav Motylkov 40fe3e5dd9
[NTDLL][ARM] Add missing definition for RtlFillMemoryUlong
[GITHUB] Build entire base module for ARM platform

CORE-17604
2022-03-18 22:52:05 +03:00
Serge Gautherie 25bff3a1e0 [NDK][NTDLL][RTL] RtlCreateTagHeap(): Fix types and annotations
According to
https://processhacker.sourceforge.io/doc/ntrtl_8h.html
2022-02-03 20:21:40 +01:00
Stanislav Motylkov 3f4c98a425
[ARM] Fix some compilation errors for ARM
CORE-17634 CORE-17604
2021-09-09 19:40:20 +03:00
Serge Gautherie 249f2388bd
[REACTOS] Fix parameter types on some exports (#3217)
Fix some wrong parameter types on some exports in NTDLL, KERNEL32, WTSAPI32, and NTOSKRNL.
2021-05-01 21:11:34 +02:00
Serge Gautherie 889b077b23
[REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
Timo Kreuzer 92f4746845 [NTDLL] Add Vista exports 2020-09-09 19:33:29 +02:00
Timo Kreuzer aaa7dda945 [NTDLL] Mark 2k3 only functions and improve some arch specific definitions 2020-09-09 19:33:29 +02:00
Oleg Dubinskiy 6f232770d3
[NDK][RTL] Implement RtlGetUnloadEventTrace. CORE-16671 2020-02-09 08:37:58 +01:00
Timo Kreuzer ff29d18002 [NTDLL] Architecture specific spec file improvements 2020-01-03 13:00:45 +01:00
Timo Kreuzer e92f96bd38 [NTDLL] Remove redundant Zw* -> Nt* forwarders 2020-01-03 13:00:45 +01:00
Timo Kreuzer 2ae394e474 [NTDLL] Add some more stub exports 2020-01-03 13:00:45 +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 150353ebf3 [NTDLL] Export some more existing functions 2020-01-03 13:00:45 +01:00
Timo Kreuzer d1c55af4ea [NTDLL] Ordinals -> @ 2020-01-03 13:00:45 +01:00
Mark Jansen 419d7e96ad
[NTDLL][ARM] Export pow 2019-08-20 22:31:55 +02:00
Pierre Schweitzer de7c959c4e
[NTDLL] Implement the Etw*Trace functions relying on EtwControlTrace 2018-12-09 10:29:02 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00