reactos/sdk/tools
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
..
cabman [CABMAN] Make cabman exit with non-zero exit code if argument parsing fails (#4022) 2022-05-05 17:21:54 +02:00
create_nls [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
fatten [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
gcc_plugin_seh Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
gendib Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
geninc [SDK][XDK] Add more definitions for ARM64 and start fixing PE binaries (#4142) 2021-12-09 17:54:16 +03:00
hhpcomp [HHPCOMP] Check return value when calling chdir (#4073) 2021-11-17 14:28:12 +03:00
hpp [CMAKE] Replace custom functions to built-in ones 2020-04-16 15:59:38 +03:00
isohybrid Add a shared "port" directory for POSIX functions needed by multiple host tools (getopt/mkstemps) and import the one and only getopt from glibc. 2019-04-28 23:23:06 +02:00
kbdtool [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
log2lines [LOG2LINES] Remove SVN leftovers 2020-02-22 13:48:18 +01:00
mkhive [SDK:CMLIB][MKHIVE][BOOT:ENVIRON][NTOS:CONFIG] Add missing HvGetCell casts. Replace some ASSERT(FALSE). 2022-03-27 18:37:16 +02:00
mkisofs [MKISOFS] Add ARM64 processor support 2022-05-25 16:34:11 +03:00
mkshelllink [TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) 2019-04-28 23:21:48 +02:00
ms2ps Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
nandflash Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
obj2bin [OBJ2BIN] Add support for IMAGE_REL_I386_REL16 2021-02-22 14:21:43 +01:00
pipetools Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
port [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
regtests2xml Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
rgenstat [SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821) 2022-11-08 17:40:53 +01:00
rsym [SDK] Fix some arm64 stuff that was discovered during testing 2022-04-07 19:50:43 +03:00
spec2def [SDK] Allow ARM64 MSVC to complete configuration (#4045) 2021-10-22 18:52:32 +03:00
txt2nls Remove '.html' from spdx.org license page URLs. (#4845) 2022-11-03 18:25:37 +01:00
unicode [CMAKE] Replace custom functions to built-in ones 2020-04-16 15:59:38 +03:00
utf16le [TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) 2019-04-28 23:21:48 +02:00
widl [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
winesync [WINESYNC]: reg is now in sync with wine-staging wine-6.23 2022-06-19 14:13:00 +02:00
wpp [CMAKE] Generate Flex and Bison files at build time 2021-01-28 06:43:05 +03:00
xml2sdb [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
bin2c.c [TOOLS] Fix/suppress all MSVC/x64 warnings (#1525) 2019-04-28 23:21:48 +02:00
check_code_format.sh [REACTOS] Introduce .clang-format file 2019-12-28 01:23:49 +02:00
check_packing.py [SDK] Fix missing comma in check_packing.py 2022-11-04 23:02:25 +01:00
CMakeLists.txt [SDK][XDK] Add more definitions for ARM64 and start fixing PE binaries (#4142) 2021-12-09 17:54:16 +03:00
do_code_format.sh [SDK][TOOLS] Add do_code_format.sh to sdk/tools (#2191) 2019-12-31 11:28:56 +09:00
dumpstab.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
gen_baseaddress.py [SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821) 2022-11-08 17:40:53 +01:00
mkconfig.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
pefixup.c [PEFIXUP] Fixup of resource sections in GCC builds. (#3594) 2021-05-10 00:36:38 +02:00
stubgen.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