[CMAKE]
[reactos.git] / dll / win32 / smdll / readme.txt
1 $Id$
2
3 This is SMDLL: a helper library to talk to the ReactOS session manager (SM).
4
5 It should be linked in the following components:
6
7 a) the SM itself, because it registers for managing native processes
8 IMAGE_SUBSYSTEM_NATIVE;
9
10 b) environment subsystem servers, because each one should register in
11 the SM its own subsystem (willing to manage those processes);
12
13 c) terminal emulators for optional subsystems, like posixw32 and os2w32,
14 to ask the SM to start the optional subsystem server they need connect to;
15
16 d) system and development utilites to debug/query the SM.
17
18 2004-02-15 ea
19
20
21 How a subsystem uses these APIs
22 ===============================
23
24 Thread #0 Thread #1
25 - create your own directory (\EXAMPLE)
26 - create an event E0
27 - create your call back API port (\EXAMPLE\SbApiPort)
28 and serving thread T1
29 - wait connection requests on call
30 back port (\EXAMPLE\SbApiPort)
31 - SmConnectApiPort(
32 \EXAMPLE\SbApiPort,
33 hSbApiPort,
34 SUBSYSTEM_ID,
35 & hSmApiPort)
36 - wait for E0
37 - as SM calls back, signal event E0
38 - create your API port (\EXAMPLE\ApiPort) and
39 initialize the subsystem
40 - call SmCompleteSession (hSmApiPort,
41 hSbApiPort,
42 hApiPort)
43 - manage processes etc.