Go to the source code of this file.
|
enum | _SMSRV_API_NUMBER {
SmpCreateForeignSessionApi,
SmpSessionCompleteApi,
SmpTerminateForeignSessionApi,
SmpExecPgmApi,
SmpLoadDeferedSubsystemApi,
SmpStartCsrApi,
SmpStopCsrApi,
SmpMaxApiNumber
} |
|
enum | _SB_API_NUMBER {
SbpCreateSession,
SbpTerminateSession,
SbpForeignSessionComplete,
SbpCreateProcess,
SbpMaxApiNumber
} |
|
◆ _SM_MSG_
◆ SB_PROCESS_FLAGS_DEBUG
#define SB_PROCESS_FLAGS_DEBUG 0x1 |
◆ SB_PROCESS_FLAGS_RESERVE_1MB
#define SB_PROCESS_FLAGS_RESERVE_1MB 0x8 |
◆ SB_PROCESS_FLAGS_SKIP_CHECKS
#define SB_PROCESS_FLAGS_SKIP_CHECKS 0x20 |
◆ SB_PROCESS_FLAGS_WAIT_ON_THREAD
#define SB_PROCESS_FLAGS_WAIT_ON_THREAD 0x2 |
◆ PSB_API_MSG
◆ PSB_API_ROUTINE
◆ PSB_CONNECTION_INFO
◆ PSB_CREATE_PROCESS_MSG
◆ PSB_CREATE_SESSION_MSG
◆ PSB_FOREIGN_SESSION_COMPLETE_MSG
◆ PSB_TERMINATE_SESSION_MSG
◆ PSM_API_MSG
◆ PSM_CREATE_FOREIGN_SESSION_MSG
◆ PSM_EXEC_PGM_MSG
◆ PSM_LOAD_DEFERED_SUBSYSTEM_MSG
◆ PSM_SESSION_COMPLETE_MSG
◆ PSM_START_CSR_MSG
◆ PSM_STOP_CSR_MSG
◆ PSM_TERMINATE_FOREIGN_SESSION_MSG
◆ SB_API_MSG
◆ SB_API_NUMBER
◆ SB_CONNECTION_INFO
◆ SB_CREATE_PROCESS_MSG
◆ SB_CREATE_SESSION_MSG
◆ SB_FOREIGN_SESSION_COMPLETE_MSG
◆ SB_TERMINATE_SESSION_MSG
◆ SM_API_MSG
◆ SM_CREATE_FOREIGN_SESSION_MSG
◆ SM_EXEC_PGM_MSG
◆ SM_LOAD_DEFERED_SUBSYSTEM_MSG
◆ SM_SESSION_COMPLETE_MSG
◆ SM_START_CSR_MSG
◆ SM_STOP_CSR_MSG
◆ SM_TERMINATE_FOREIGN_SESSION_MSG
◆ SMSRV_API_NUMBER
◆ _SB_API_NUMBER
Enumerator |
---|
SbpCreateSession | |
SbpTerminateSession | |
SbpForeignSessionComplete | |
SbpCreateProcess | |
SbpMaxApiNumber | |
Definition at line 128 of file smmsg.h.
enum _SB_API_NUMBER SB_API_NUMBER
◆ _SMSRV_API_NUMBER
Enumerator |
---|
SmpCreateForeignSessionApi | |
SmpSessionCompleteApi | |
SmpTerminateForeignSessionApi | |
SmpExecPgmApi | |
SmpLoadDeferedSubsystemApi | |
SmpStartCsrApi | |
SmpStopCsrApi | |
SmpMaxApiNumber | |
Definition at line 25 of file smmsg.h.
enum _SMSRV_API_NUMBER SMSRV_API_NUMBER
◆ C_ASSERT() [1/4]
◆ C_ASSERT() [2/4]
◆ C_ASSERT() [3/4]
◆ C_ASSERT() [4/4]
◆ SmConnectToSm()
Definition at line 68 of file smclient.c.
77 ULONG ConnectInfoLength =
sizeof(ConnectInfo);
95 SbApiPortName->Buffer,
96 SbApiPortName->Length);
121 DPRINT1(
"SmConnectToSm: Connect to Sm failed %lx\n",
Status);
#define STATUS_INVALID_PARAMETER_MIX
SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode
NTSTATUS NTAPI NtConnectPort(OUT PHANDLE PortHandle, IN PUNICODE_STRING PortName, IN PSECURITY_QUALITY_OF_SERVICE SecurityQos, IN OUT PPORT_VIEW ClientView OPTIONAL, IN OUT PREMOTE_PORT_VIEW ServerView OPTIONAL, OUT PULONG MaxMessageLength OPTIONAL, IN OUT PVOID ConnectionInformation OPTIONAL, IN OUT PULONG ConnectionInformationLength OPTIONAL)
#define NT_SUCCESS(StatCode)
#define IMAGE_SUBSYSTEM_UNKNOWN
#define SECURITY_DYNAMIC_TRACKING
SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlCopyMemory(Destination, Source, Length)
IN PUNICODE_STRING PortName
Referenced by CsrServerInitialization(), and SmpExecuteInitialCommand().
◆ SmExecPgm()
Definition at line 21 of file smclient.c.
28 #if 0 //def _WIN64 // You can take care of this Timo 30 if (SmpIsWow64Process())
37 SmApiMsg.
h.u2.ZeroInit = 0;
39 SmApiMsg.
h.u1.s1.TotalLength =
sizeof(SmApiMsg);
52 DPRINT1(
"SmExecPgm: NtRequestWaitReply Failed %lx\n",
Status);
61 NtClose(ProcessInformation->ProcessHandle);
62 NtClose(ProcessInformation->ThreadHandle);
RTL_USER_PROCESS_INFORMATION ProcessInformation
NTSTATUS NTAPI NtRequestWaitReplyPort(IN HANDLE PortHandle, IN PPORT_MESSAGE LpcRequest, IN OUT PPORT_MESSAGE LpcReply)
SMSRV_API_NUMBER ApiNumber
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
union _SM_API_MSG::@3477 u
struct _SM_EXEC_PGM_MSG SM_EXEC_PGM_MSG
#define RtlCopyMemory(Destination, Source, Length)
Referenced by SmpExecPgm(), and SmpExecuteInitialCommand().
◆ SmSessionComplete()
Definition at line 135 of file smclient.c.
150 ApiMessage.
h.u1.s1.TotalLength =
sizeof(
SM_API_MSG);
151 ApiMessage.
h.u2.ZeroInit = 0;
164 DPRINT1(
"SmCompleteSession: NtRequestWaitReply failed\n");
NTSTATUS NTAPI NtRequestWaitReplyPort(IN HANDLE PortHandle, IN PPORT_MESSAGE LpcRequest, IN OUT PPORT_MESSAGE LpcReply)
SMSRV_API_NUMBER ApiNumber
#define NT_SUCCESS(StatCode)
struct _SM_API_MSG SM_API_MSG
union _SM_API_MSG::@3477 u
struct _SM_SESSION_COMPLETE_MSG SM_SESSION_COMPLETE_MSG
SM_SESSION_COMPLETE_MSG SessionComplete
Referenced by CsrDereferenceNtSession().