DosSMDoAppReq

Perform an application request to start, stop, etc. a child session. This can only be called by the shell that owns the Session Manager.

Syntax
DOSSMDOAPPREQ (appreq)

Parameters
struct APPREQ { short unknown; short length;      /* length of structure */ short type;        /* request type */ short rc;          /* return code */ short sessid;      /* session id */ short pid;         /* process id */ short tid;         /* thread id */ short flgs1;       /* flags 1 */ long sema1;        /* semaphore 1 ? */    long sema2;         /* semaphore 2 ? */    long sema3;         /* semaphore 3 ? */    short qstatus;      /* internal queueing status */ short flgs2;       /* flags 2 */ char param[1];     /* variable length data */ }; whereas:
 * appreq (APPREQ*): 16:16 pointer to an appreq structure:
 * type
 * =0 start
 * =1 select
 * =2 set
 * =3 stop


 * flgs1
 * bit 0 called from 32 bit code
 * bit 1-6 seamless session bits ?
 * bit 7 VDM start session
 * bit 8 ?


 * flgs2
 * =0 terminate child
 * =1 terminate all children


 * param
 * variable length field to store different parameters depending on DosStart/Stop/Set/SelectSession

Return Code
APIRET16 Pascal far