1 #ifndef _SMSS_H_INCLUDED_
2 #define _SMSS_H_INCLUDED_
10 #define CHILD_WINLOGON 1
13 extern HANDLE SmSsProcessId
;
16 NTSTATUS
InitSessionManager(VOID
);
19 extern HANDLE SmpHeap
;
20 NTSTATUS
SmCreateHeap(VOID
);
23 extern PWSTR SmSystemEnvironment
;
24 NTSTATUS
SmCreateEnvironment(VOID
);
25 NTSTATUS
SmSetEnvironmentVariables(VOID
);
26 NTSTATUS
SmUpdateEnvironment(VOID
);
29 NTSTATUS
SmCreateObjectDirectories(VOID
);
32 NTSTATUS
SmInitDosDevices(VOID
);
35 extern HANDLE Children
[2];
36 NTSTATUS
SmRunBootApplications(VOID
);
39 NTSTATUS
SmProcessFileRenameList(VOID
);
42 NTSTATUS
SmLoadKnownDlls(VOID
);
45 NTSTATUS
SmCreatePagingFiles(VOID
);
48 NTSTATUS
SmInitializeRegistry(VOID
);
51 NTSTATUS
SmLoadSubsystems(VOID
);
55 NTSTATUS FASTCALL n (PSM_PORT_MESSAGE Request)
56 PSM_CONNECT_DATA FASTCALL
SmpGetConnectData (PSM_PORT_MESSAGE
);
57 NTSTATUS
SmCreateApiPort(VOID
);
58 VOID STDCALL
SmpApiThread(PVOID
);
62 NTSTATUS STDCALL
SmCreateUserProcess(LPWSTR ImagePath
,
65 PLARGE_INTEGER Timeout OPTIONAL
,
67 PRTL_PROCESS_INFO ProcessInfo OPTIONAL
);
69 SmLookupSubsystem (IN PWSTR Name
,
71 IN OUT PULONG DataLength
,
72 IN OUT PULONG DataType
,
74 NTSTATUS FASTCALL
SmExecPgm(PSM_PORT_MESSAGE
);
77 NTSTATUS FASTCALL
SmCompSes(PSM_PORT_MESSAGE
);
80 NTSTATUS FASTCALL
SmQryInfo(PSM_PORT_MESSAGE
);
83 typedef struct _SM_CLIENT_DATA
91 WCHAR SbApiPortName
[SM_SB_NAME_MAX_LENGTH
];
92 struct _SM_CLIENT_DATA
* Next
;
94 } SM_CLIENT_DATA
, *PSM_CLIENT_DATA
;
95 NTSTATUS
SmInitializeClientManagement(VOID
);
96 NTSTATUS STDCALL
SmCreateClient(PSM_PORT_MESSAGE
,PSM_CLIENT_DATA
*);
97 NTSTATUS STDCALL
SmDestroyClient(ULONG
);
98 NTSTATUS STDCALL
SmCompleteClientInitialization (HANDLE hProcess
);
99 NTSTATUS FASTCALL
SmGetClientBasicInformation (PSM_BASIC_INFORMATION
);
100 NTSTATUS FASTCALL
SmGetSubSystemInformation (PSM_SUBSYSTEM_INFORMATION
);
103 extern HANDLE DbgSsApiPort
;
104 extern HANDLE DbgUiApiPort
;
105 NTSTATUS
SmInitializeDbgSs(VOID
);
108 VOID STDCALL
DisplayString(LPCWSTR lpwString
);
109 VOID STDCALL
PrintString (char* fmt
, ...);
111 #endif /* _SMSS_H_INCLUDED_ */