STARTDATA

Start session data

Type
USHORT Length USHORT Related USHORT FgBg USHORT TraceOpt PSZ PgmTitle PSZ PgmName PBYTE PgmInputs PBYTE TermQ PBYTE Environment USHORT InheritOpt USHORT SessionType PSZ IconFile ULONG PgmHandle USHORT PgmControl USHORT InitXPos USHORT InitYPos USHORT InitXSize USHORT InitYSize USHORT Reserved PSZ ObjectBuffer ULONG ObjectBuffLen

C Declaration Method
typedef struct

Fields
When a Length of 24 or 30 bytes is specified, DosStartSession initializes the missing parameters to 0. This allows the Shell to provide values for the missing information, based on the installation file entry for the program being started.
 * Length:The length of the data structure, in bytes, including Length itself.
 * A length of at least 32 bytes must be used to start a DOS session with the session type specified. A length greater than 32 is not allowed if the Session Manager detects that the Presentation Manager is not present.
 * Specify a Length of 30 bytes to use the environment and inheritance features of the system. Specify a Length of 50 bytes to specify the type of session to start, and to define data for windows.
 * A Length of 60 bytes allows you to use all of the functions provided by DosStartSession.


 * Related:An indicator which specifies whether the session created is related to the calling session.
 * The values of this field are as follows:
 * 0 - SSF_RELATED_INDEPENDENT - New session is an independent session (not related).
 * 1 - SSF_RELATED_CHILD - New session is a child session (related).
 * An independent session cannot be controlled by the calling program. It may not be specified as the target of DosSelectSession, DosSetSession or DosStopSession. The TermQ field is ignored for independent sessions.


 * FgBg:An indicator which specifies whether the new session should be started in the foreground or background.
 * If a windowed session is started in the foreground, the new session will be given the window focus. The values of this field are described in the following list:
 * 0 - SSF_FGBG_FORE - Start session in foreground
 * 1 - SSF_FGBG_BACK - Start session in background


 * TraceOpt:An indicator which specifies whether the program started in the new session should be executed under conditions for tracing.
 * The values of this field are described in the following list:
 * 0 SSF_TRACEOPT_NONE - No trace.
 * 1 SSF_TRACEOPT_TRACE - Trace with no notification of descendants.
 * 2 SSF_TRACEOPT_TRACEALL - Trace all descendant sessions.
 * Related equals 1 and a termination queue must be supplied when this value is specified.


 * PgmTitle:Address of an ASCIIZ string that contains the program title.
 * The string can be up to 61 bytes long, including the terminating byte of 0. If the address specified is 0, or if the ASCIIZ string is null, then the initial title is PgmName minus any leading drive and path information.


 * PgmName:The address of an ASCIIZ string that contains the file specification of the program to be loaded.
 * If the address specified is 0, or if the ASCIIZ string is null, then the program identified by the PgmHandle is started in the new session.


 * PgmInputs:Either 0 or the address of an ASCIIZ string that contains the input arguments to be passed to the program.
 * TermQ:Either 0 or the address of an ASCIIZ string that contains the file specification of a system queue.
 * This field is ignored when Related is set to SSF_RELATED_INDEPENDENT.


 * Environment:The address of an environment string to be passed to the program started in the new session.
 * This parameter may be used for independent or related DosStartSession functions.
 * When the Environment field is 0, the program in the new session inherits the environment of the Shell if the InheritOpt field is equal to SSF_INHERTOPT_SHELL, or the environment of the program issuing DosStartSession if the InheritOpt field is equal to SSF_INHERTOPT_PARENT.
 * DOS Sessions
 * By default, the DOS session processes the AUTOEXEC.BAT file on the DOS startup drive. Environment variables may be set in the AUTOEXEC.BAT file or by specifying them via this parameter. Any setting available from the DOS setting notebook may also be set here. For instance, to have D:\MYEXEC.BAT run instead of AUTOEXEC.BAT, enable direct access to the hardware timer, disable the break key, and set the real memory size to 256K, specify the environment string as:

myenv = "DOS_AUTOEXEC=D:\\MYEXEC.BAT\0         HW_TIMER=1\0DOS_BREAK=0\0OS_RMSIZE=256\0";
 * InheritOpt:Specifies whether the program started in the new session should inherit the calling program's environment and open file handles. The values of this field are described in the following list:
 * 0 - SSF_INHERTOPT_SHELL - Inherit the Shell's environment.
 * 1 - SSF_INHERTOPT_PARENT - Inherit the environment of the program issuing the DosStartSession call.
 * The InheritOpt field may be used for independent or related DosStartSession functions. Therefore, a DosStartSession function with the InheritOpt field equal to SSF_INHERTOPT_PARENT is equivalent to DosExecPgm, except that the new program does not inherit the priority of the parent process, or the keyboard and video characteristics associated with the parent session. Also, a parent process/child process relationship is not established.
 * The InheritOpt field for a DOS session is different than the InheritOpt field for a non-DOS session. An InheritOpt value of SSF_INHERTOPT_PARENT for a DOS session only inherits the parent's current drive and path. It does not inherit the parent's environment.


 * SessionType:The type of session that should be created for this program.
 * The values of this field are shown in the list below:
 * 0 SSF_TYPE_DEFAULT
 * Use the PgmHandle data, or allow the Shell to establish the session type.
 * 1 SSF_TYPE_FULLSCREEN
 * Start the program in a full-screen session.
 * 2 SSF_TYPE_WINDOWABLEVIO
 * Start the program in a windowed session for programs using the Base Video Subsystem.
 * 3 SSF_TYPE_PM.
 * Start the program in a windowed session for programs using the Presentation Manager (including AVIO calls).
 * 4 SSF_TYPE_VDM
 * Start the program in a full-screen DOS session.
 * 7 SSF_TYPE_WINDOWEDVDM
 * Start the program in a windowed DOS session.


 * IconFile:Either 0 or the address of an ASCIIZ string that contains the file specification of an icon definition.
 * If you do not provide an icon file name with DosStartSession, the system looks for an associated icon file (with a file extension of .ICO, or an extended attribute of .ICON). The system provides a default icon if an icon file name is not provided with DosStartSession.


 * PgmHandle:Either 0 or the program handle.
 * The program handle identifies the program in the installation file to be started, the program title, the session type, and the initial window size and position. However, information may be specified with DosStartSession to override the information in the installation file for this invocation of the program.


 * PgmControl:An indicator which specifies the initial state for a windowed application. This field is ignored for full-screen sessions.
 * The bits in this field have the following values:

Bit Description 15  SSF_CONTROL_SETPOS      (0x8000) Use specified size and position 4-14 Reserved 3   SSF_CONTROL_NOAUTOCLOSE (0x0008) No Auto Close 2   SSF_CONTROL_MINIMIZE    (0x0004) Minimize 1   SSF_CONTROL_MAXIMIZE    (0x0002) Maximize 0   SSF_CONTROL_INVISIBLE   (0x0001) Invisible 0   SSF_CONTROL_VISIBLE     (0x0000) Visible
 * Note: The "No Auto Close" bit is used only for VIO Windowable applications, and is ignored for all other types of applications.


 * InitXPos:The initial x-coordinate, in pels, for the initial session window. Coordinates (0,0) indicate the bottom left corner of the display. This field is ignored for full-screen sessions.
 * InitYPos:The initial y-coordinate, in pels, for the initial session window. Coordinates (0,0) indicate the bottom left corner of the display. This field is ignored for full-screen sessions.
 * InitXSize:The initial x extent, in pels, for the initial session window. This field is ignored for full-screen sessions.
 * InitYSize:The initial y extent, in pels, for the initial session window. This field is ignored for full-screen sessions.
 * Reserved:Reserved; must be zero.
 * ObjectBuffer:Buffer in which the name of the object that contributed to the failure of DosExecPgm is returned.
 * The name of the object is usually the name of a dynamic link library that could not be loaded.
 * DosStartSession calls DosExecPgm to start all full-screen, VIO windowed, and Presentation Manager programs.


 * ObjectBuffLen:The length, in bytes, of the buffer pointed to by ObjectBuffer.

PSTARTDATA
Pointer to STARTDATA