reactos/dll/win32
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
..
acledit [ACLEDIT][MSIMG32][HIDCLASS] Fix DLL-main function argument type in spec file. 2022-10-06 16:16:40 +02:00
aclui
activeds
actxprxy
advapi32 [SECLOGON][ADVAPI] CreateProcessWithLogonW: Return process information to the caller 2022-07-24 01:08:13 +02:00
advapi32_vista
advpack
atl
atl80
atl100
authz
avicap32
avifil32
batt
bcrypt
beepmidi
browseui [BROWSEUI] Fix CAutoComplete use after free 2022-10-27 23:45:18 +02:00
bthci
cabinet
cards
cfgmgr32
clusapi
comcat
comctl32 [COMCTL32] Don't hardcode dwCaretWidth parameter while calling CreateCaret 2022-10-12 22:12:19 +03:00
comdlg32 [COMDLG32] Set background to transparent for font dialog sample text 2022-11-05 02:42:13 +03:00
compstui
credui
crtdll
crypt32 [TRANSLATION] Update Bulgarian translation (#4429) 2022-09-30 18:08:13 +02:00
cryptdlg
cryptdll
cryptnet
cryptui [TRANSLATION] Update Bulgarian translation (#4429) 2022-09-30 18:08:13 +02:00
dbgeng
dbghelp [DBGHELP] Add ARM64 definitions into compat.h (#4810) 2022-10-27 18:14:10 +03:00
dciman32
devmgr [DEVMGR] Fix wrong menu item hint (#4854) 2022-11-06 20:00:18 +03:00
dnsapi [DNSAPI] DNSRSLVR_HANDLE_bind(): Demote 1 DPRINT1() (#4733) 2022-09-28 22:38:35 +03:00
esent
faultrep
fltlib
fmifs
fontsub
framedyn
fusion
gdiplus
getuname [TRANSLATION] More Russian (ru-RU) translation fixes 2022-09-29 12:00:04 +03:00
hhctrl.ocx [HHCTRL.OCX] Fix toolbar icons order 2022-10-20 21:20:36 +03:00
hid
hlink
hnetcfg
httpapi
iccvid
icmp
ieframe [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513) 2022-05-20 15:38:24 +03:00
iernonce [REACTOS] Various Russian (ru-RU) translation fixes (#4696) 2022-09-15 18:46:03 +03:00
imaadp32.acm
imagehlp
imm32 [IMM32] Add reasoning for tracing (#4807) 2022-10-26 12:01:33 +09:00
inetcomm
inetmib1
initpki
inseng
iologmsg
iphlpapi [REACTOS] Add '\n' to debug logs 2022-05-04 03:28:38 +03:00
iprtprio
itircl
itss
jscript [TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701) 2022-10-09 14:00:20 +03:00
jsproxy
kernel32 [KERNEL32] Spec file: GetCurrencyFormatW takes wide strings in parameters. 2022-11-03 02:50:23 +01:00
loadperf
lpk [IMM32][LPK] Remove msvcrt dependency; fix entrypoint. (#4759) 2022-10-06 15:52:20 +02:00
lsasrv [LSASRV] Set up a security descriptor for the token object 2022-05-06 10:09:36 +02:00
lz32
mapi32
mciavi32
mcicda
mciqtz32
mciseq
mciwave
mgmtapi
mlang
mmdevapi
mmdrv
modemui
mpr
mprapi
msacm32
msacm32.drv
msadp32.acm
msafd [REACTOS] Add '\n' to debug logs 2022-05-04 03:28:38 +03:00
mscat32
mscms
mscoree
msctf
msftedit
msg711.acm
msgina [TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701) 2022-10-09 14:00:20 +03:00
msgsm32.acm
mshtml [MSHTML] Global variable compatibility update for gcc 10. 2022-04-26 03:38:38 +03:00
mshtml.tlb
msi [MSI] Add jira ticket to debug logging 2022-10-26 20:19:31 +02:00
msimg32 [ACLEDIT][MSIMG32][HIDCLASS] Fix DLL-main function argument type in spec file. 2022-10-06 16:16:40 +02:00
msimtf
msisip
msisys.ocx
msnet32
mspatcha
msports
msrle32
mssign32
mssip32
mstask
msv1_0 [REACTOS] Add '\n' to debug logs 2022-05-04 03:28:38 +03:00
msvcrt
msvcrt20
msvcrt40
msvfw32
msvidc32
mswsock
msxml
msxml2
msxml3
msxml3r
msxml4
msxml6
mycomput
nddeapi
netapi32 [NETAPI32] NetSessionEnum: UncClientName and username are optional 2022-05-07 16:54:04 +02:00
netcfgx [TRANSLATION] Improve Portuguese (pt-PT) translation (#4758) 2022-10-06 22:48:38 +03:00
netevent
netid [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513) 2022-05-20 15:38:24 +03:00
netmsg
newdev [NEWDEV] Improve Japanese translation (ja-JP) 2022-09-05 11:41:25 +09:00
npptools
ntdsapi
ntlanman
ntmarta
objsel
odbc32
odbccp32
ole32
oleacc
oleaut32
olecli32
oledlg
olepro32
olesvr32
olethk32
pdh
pidgen
powrprof [POWRPROF] Create a security descriptor for power management semaphore 2022-05-06 10:09:51 +02:00
profmap
propsys
psapi
pstorec
qmgr
qmgrprxy
query
rasadhlp
rasapi32
rasdlg [RASDLG] Fix typos in Polish (pl-PL) translation (#4812) 2022-10-26 16:22:05 +03:00
rasman
regapi
resutils
riched20
riched32
rpcrt4 [RPCRT4] Set up a security descriptor for RPC named pipes 2022-05-06 10:09:51 +02:00
rsabase
rsaenh
samlib [REACTOS] Add '\n' to debug logs 2022-05-04 03:28:38 +03:00
samsrv [TRANSLATION] Minor Russian (ru-RU) translation fixes (#4835) 2022-11-01 17:22:18 +03:00
sccbase
schannel
scrrun
secur32
security
sensapi
serialui
setupapi [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513) 2022-05-20 15:38:24 +03:00
sfc
sfc_os
sfcfiles
shdoclc [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513) 2022-05-20 15:38:24 +03:00
shdocvw
shell32 [SHELL32] shlexec: Initial support of App Paths (#4850) 2022-11-08 09:23:06 +09:00
shfolder
shimgvw [SHIMGVW] Improve Japanese translation (ja-JP) 2022-09-24 12:33:22 +09:00
shlwapi [TRANSLATION] French translation update (#4638) 2022-09-03 23:12:29 +02:00
slbcsp
sndblst
snmpapi
softpub
srclient
stdole2.tlb
stdole32.tlb
sti
storprop
streamci
sxs
syssetup [SYSSETUP] Add support for shortcut arguments 2022-10-19 19:36:26 +02:00
t2embed
tapi32
tapiui
themeui
traffic
twain_32 [TWAIN_32] Global variable compatibility update for gcc 10. 2022-04-26 03:38:38 +03:00
ubtrfs [BTRFS][UBTRFS][SHELLBTRFS] Upgrade to 1.8.1 (#4729) 2022-09-28 18:08:10 +02:00
ucdfs
uext2
ufat
ufatx
untfs
updspapi
url
urlmon
userenv [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513) 2022-05-20 15:38:24 +03:00
usp10
uxtheme
vbscript
verifier
version
vssapi
wbemdisp
wbemprox [WBEMPROX] Global variable compatibility update for gcc 10. 2022-04-26 03:38:38 +03:00
wdmaud.drv
windowscodecs
windowscodecsext
winemp3.acm
winfax
wing32
winhttp
wininet [WININET] Update Polish (pl-PL) translation (#4811) 2022-10-26 18:30:39 +03:00
winmm
winscard
winsta
wintrust
wlanapi
wldap32
wlnotify
wmi
wmiutils
wmvcore
ws2_32
ws2help
wshirda
wshom.ocx
wshtcpip
wsock32
wtsapi32
wuapi
xinput1_1
xinput1_2
xinput1_3
xinput9_1_0
xmllite
xolehlp
CMakeLists.txt [SMDLL][SMLIB] Deprecate the legacy ROS-specific SMDLL and improve SM client functions. (#4821) 2022-11-08 17:40:53 +01:00