Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
sm.h
Abstract:
Session Manager Types and Prototypes
Author:
Mark Lucovsky (markl) 04-Oct-1989
Revision History:
--*/
#ifndef _SM_
#define _SM_
//
// Message formats used by clients of the session manager.
//
typedef struct _SMCONNECTINFO { ULONG ImageType; } SMCONNECTINFO, *PSMCONNECTINFO;
typedef enum _SMAPINUMBER { SmCreateForeignSessionApi, SmSessionCompleteApi, SmTerminateForeignSessionApi, SmExecPgmApi, SmLoadDeferedSubsystemApi, SmStartCsrApi, SmStopCsrApi, SmMaxApiNumber } SMAPINUMBER;
typedef struct _SMCREATEFOREIGNSESSION { ULONG ForeignSessionId; ULONG SourceSessionId; RTL_USER_PROCESS_INFORMATION ProcessInformation; CLIENT_ID DebugUiClientId; } SMCREATEFOREIGNSESSION, *PSMCREATEFOREIGNSESSION;
typedef struct _SMSESSIONCOMPLETE { ULONG SessionId; NTSTATUS CompletionStatus; } SMSESSIONCOMPLETE, *PSMSESSIONCOMPLETE;
typedef struct _SMTERMINATEFOREIGNSESSION { ULONG Tbd; } SMTERMINATEFOREIGNSESSION, *PSMTERMINATEFOREIGNSESSION;
typedef struct _SMEXECPGM { RTL_USER_PROCESS_INFORMATION ProcessInformation; BOOLEAN DebugFlag; } SMEXECPGM, *PSMEXECPGM;
#define SMP_MAXIMUM_SUBSYSTEM_NAME 32
typedef struct _SMLOADDEFERED { ULONG SubsystemNameLength; WCHAR SubsystemName[SMP_MAXIMUM_SUBSYSTEM_NAME]; } SMLOADDEFERED, *PSMLOADDEFERED;
#define SMP_MAXIMUM_INITIAL_COMMAND 128
typedef struct _SMSTARTCSR { ULONG MuSessionId; ULONG InitialCommandLength; WCHAR InitialCommand[SMP_MAXIMUM_INITIAL_COMMAND]; ULONG_PTR InitialCommandProcessId; ULONG_PTR WindowsSubSysProcessId; } SMSTARTCSR, *PSMSTARTCSR;
typedef struct _SMSTOPCSR { ULONG MuSessionId; } SMSTOPCSR, *PSMSTOPCSR;
typedef struct _SMAPIMSG { PORT_MESSAGE h; SMAPINUMBER ApiNumber; NTSTATUS ReturnedStatus; union { SMCREATEFOREIGNSESSION CreateForeignSession; SMSESSIONCOMPLETE SessionComplete; SMTERMINATEFOREIGNSESSION TerminateForeignComplete; SMEXECPGM ExecPgm; SMLOADDEFERED LoadDefered; SMSTARTCSR StartCsr; SMSTOPCSR StopCsr; } u; } SMAPIMSG, *PSMAPIMSG;
typedef union _SMMESSAGE_SIZE { DBGKM_APIMSG m1; SMAPIMSG m2; SBAPIMSG m3; } SMMESSAGE_SIZE;
#endif // _SM_
|