#include "precomp.h"
#include <sm/smmsg.h>
#include <debug.h>
Go to the source code of this file.
|
NTSTATUS NTAPI | SmExecPgm (IN HANDLE SmApiPort, IN PRTL_USER_PROCESS_INFORMATION ProcessInformation, IN BOOLEAN DebugFlag) |
|
NTSTATUS NTAPI | SmConnectToSm (IN PUNICODE_STRING SbApiPortName, IN HANDLE SbApiPort, IN ULONG ImageType, OUT PHANDLE SmApiPort) |
|
NTSTATUS NTAPI | SmSessionComplete (IN HANDLE SmApiPort, IN ULONG SessionId, IN NTSTATUS SessionStatus) |
|
NTSTATUS NTAPI | SmStartCsr (IN HANDLE SmApiPort, OUT PULONG pMuSessionId, IN PUNICODE_STRING CommandLine, OUT PHANDLE pWindowsSubSysProcessId, OUT PHANDLE pInitialCommandProcessId) |
|
NTSTATUS NTAPI | SmStopCsr (IN HANDLE SmApiPort, IN ULONG SessionId) |
|
◆ NDEBUG
◆ 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)
struct _SM_EXEC_PGM_MSG SM_EXEC_PGM_MSG
#define RtlCopyMemory(Destination, Source, Length)
union _SM_API_MSG::@3474 u
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
struct _SM_SESSION_COMPLETE_MSG SM_SESSION_COMPLETE_MSG
SM_SESSION_COMPLETE_MSG SessionComplete
union _SM_API_MSG::@3474 u
Referenced by CsrDereferenceNtSession().
◆ SmStartCsr()
Definition at line 173 of file smclient.c.
185 SmApiMsg.
h.u1.s1.TotalLength =
sizeof(SmApiMsg);
193 DPRINT1(
"SmStartCsr: Command line too long\n");
204 DPRINT1(
"SmStartCsr: NtRequestWaitReply Failed %lx\n",
Status);
NTSTATUS NTAPI NtRequestWaitReplyPort(IN HANDLE PortHandle, IN PPORT_MESSAGE LpcRequest, IN OUT PPORT_MESSAGE LpcReply)
#define STATUS_INVALID_PARAMETER
HANDLE WindowsSubSysProcessId
SMSRV_API_NUMBER ApiNumber
#define NT_SUCCESS(StatCode)
HANDLE SmpInitialCommandProcessId
SM_START_CSR_MSG StartCsr
struct _SM_EXEC_PGM_MSG SM_EXEC_PGM_MSG
#define RtlZeroMemory(Destination, Length)
#define RtlCopyMemory(Destination, Source, Length)
union _SM_API_MSG::@3474 u
Referenced by SmpStartCsr().
◆ SmStopCsr()
Definition at line 222 of file smclient.c.
231 SmApiMsg.
h.u1.s1.TotalLength =
sizeof(SmApiMsg);
241 DPRINT1(
"SmStopCsr: NtRequestWaitReply Failed %lx\n",
Status);
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_EXEC_PGM_MSG SM_EXEC_PGM_MSG
#define RtlZeroMemory(Destination, Length)
union _SM_API_MSG::@3474 u