ReactOS 0.4.16-dev-319-g6cf4263
lsasrv.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

NTSTATUS WINAPI LsapInitLsa (VOID)
 
NTSTATUS WINAPI ServiceInit (VOID)
 

Function Documentation

◆ LsapInitLsa()

NTSTATUS WINAPI LsapInitLsa ( VOID  )

Definition at line 275 of file lsasrv.c.

276{
278 BOOLEAN PrivilegeEnabled;
279
280 TRACE("LsapInitLsa()\n");
281
282 /* Get the product type */
284
285 /* Initialize the well known SIDs */
286 LsapInitSids();
287
288 /* Initialize the SRM server */
290 if (!NT_SUCCESS(Status))
291 {
292 ERR("LsapRmInitializeServer() failed (Status 0x%08lx)\n", Status);
293 return Status;
294 }
295
296 /* Initialize the LSA database */
298
299 /* Initialize logon sessions */
301
302 /* Initialize the notification list */
304
305 /* Initialize registered authentication packages */
307 if (!NT_SUCCESS(Status))
308 {
309 ERR("LsapInitAuthPackages() failed (Status 0x%08lx)\n", Status);
310 return Status;
311 }
312
313 /* Enable the token creation privilege for the rest of our lifetime */
315 if (!NT_SUCCESS(Status))
316 {
317 ERR("RtlAdjustPrivilege(SE_CREATE_TOKEN_PRIVILEGE) failed, ignoring (Status 0x%08lx)\n", Status);
318 }
319
320 /* Start the authentication LPC port thread */
322 if (!NT_SUCCESS(Status))
323 {
324 ERR("StartAuthenticationPort() failed (Status 0x%08lx)\n", Status);
325 return Status;
326 }
327
328 /* Start the RPC server */
330 if (!NT_SUCCESS(Status))
331 {
332 ERR("LsarStartRpcServer() failed (Status 0x%08lx)\n", Status);
333 return Status;
334 }
335
336 return STATUS_SUCCESS;
337}
unsigned char BOOLEAN
NTSTATUS LsapInitAuthPackages(VOID)
Definition: authpackage.c:474
NTSTATUS StartAuthenticationPort(VOID)
Definition: authport.c:327
LONG NTSTATUS
Definition: precomp.h:26
#define ERR(fmt,...)
Definition: precomp.h:57
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
#define NT_SUCCESS(StatCode)
Definition: apphelp.c:33
BOOLEAN NTAPI RtlGetNtProductType(_Out_ PNT_PRODUCT_TYPE ProductType)
Definition: version.c:96
NTSTATUS LsapInitDatabase(VOID)
Definition: database.c:539
NTSTATUS LsapInitSids(VOID)
Definition: lookup.c:182
VOID LsapInitNotificationList(VOID)
Definition: notify.c:28
VOID LsapInitLogonSessions(VOID)
Definition: session.c:36
NTSTATUS LsapRmInitializeServer(VOID)
Definition: srm.c:167
Status
Definition: gdiplustypes.h:25
NTSTATUS LsarStartRpcServer(VOID)
Definition: lsarpc.c:40
NT_PRODUCT_TYPE LsapProductType
Definition: lsasrv.c:13
#define SE_CREATE_TOKEN_PRIVILEGE
Definition: security.c:656
NTSYSAPI NTSTATUS NTAPI RtlAdjustPrivilege(_In_ ULONG Privilege, _In_ BOOLEAN NewValue, _In_ BOOLEAN ForThread, _Out_ PBOOLEAN OldValue)
#define STATUS_SUCCESS
Definition: shellext.h:65
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by wWinMain().

◆ ServiceInit()

NTSTATUS WINAPI ServiceInit ( VOID  )

Definition at line 169 of file service.c.

170{
173
174 TRACE("ServiceInit()\n");
175
177 0,
179 NULL,
180 0,
181 &dwThreadId);
182 if (hThread == NULL)
183 return (NTSTATUS)GetLastError();
184
185 return STATUS_SUCCESS;
186}
#define NULL
Definition: types.h:112
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:137
static DWORD WINAPI DispatcherThread(_In_ PVOID pParameter)
Definition: service.c:112
DWORD dwThreadId
Definition: fdebug.c:31
unsigned long DWORD
Definition: ntddk_ex.h:95
HANDLE hThread
Definition: wizard.c:28
DWORD WINAPI GetLastError(void)
Definition: except.c:1042