reactos/dll/win32/smdll
Jérôme Gardou 4ee1da42f1 [CMAKE]
- rewrite spec2def macro because
1. cmake gracefully handles def files as source files
2. cmake gracefully handles autogenerated files as source
3. it did not take into account the fact that all shared libraries haven't the .dll extension

svn path=/branches/cmake-bringup/; revision=49358
2010-10-30 16:08:19 +00:00
..
CMakeLists.txt [CMAKE] 2010-10-30 16:08:19 +00:00
dllmain.c Create a branch for cmake bringup. 2010-07-24 18:52:44 +00:00
query.c Create a branch for cmake bringup. 2010-07-24 18:52:44 +00:00
readme.txt Create a branch for cmake bringup. 2010-07-24 18:52:44 +00:00
smdll.rc Create a branch for cmake bringup. 2010-07-24 18:52:44 +00:00
smdll.spec Create a branch for cmake bringup. 2010-07-24 18:52:44 +00:00

$Id$

This is SMDLL: a helper library to talk to the ReactOS session manager (SM).

It should be linked in the following components:

a) the SM itself, because it registers for managing native processes
   IMAGE_SUBSYSTEM_NATIVE;

b) environment subsystem servers, because each one should register in
   the SM its own subsystem (willing to manage those processes);

c) terminal emulators for optional subsystems, like posixw32 and os2w32,
   to ask the SM to start the optional subsystem server they need connect to;

d) system and development utilites to debug/query the SM.

2004-02-15 ea


How a subsystem uses these APIs
===============================

Thread #0							Thread #1
- create your own directory (\EXAMPLE)
- create an event E0
- create your call back API port (\EXAMPLE\SbApiPort)
  and serving thread T1
								- wait connection requests on call
								  back port (\EXAMPLE\SbApiPort)
- SmConnectApiPort(
	\EXAMPLE\SbApiPort,
	hSbApiPort,
	SUBSYSTEM_ID,
	& hSmApiPort)
- wait for E0
								- as SM calls back, signal event E0
- create your API port (\EXAMPLE\ApiPort) and
  initialize the subsystem
- call SmCompleteSession (hSmApiPort,
			  hSbApiPort,
			  hApiPort)
- manage processes etc.