Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenlsasrv.c
Go to the documentation of this file.
00001 /* 00002 * PROJECT: Local Security Authority Server DLL 00003 * LICENSE: GPL - See COPYING in the top level directory 00004 * FILE: dll/win32/lsasrv/lsasrv.c 00005 * PURPOSE: Main file 00006 * COPYRIGHT: Copyright 2006-2009 Eric Kohl 00007 */ 00008 00009 /* INCLUDES ****************************************************************/ 00010 00011 #include "lsasrv.h" 00012 00013 WINE_DEFAULT_DEBUG_CHANNEL(lsasrv); 00014 00015 00016 /* FUNCTIONS ***************************************************************/ 00017 00018 NTSTATUS WINAPI 00019 LsapInitLsa(VOID) 00020 { 00021 HANDLE hEvent; 00022 DWORD dwError; 00023 00024 TRACE("LsapInitLsa() called\n"); 00025 00026 /* Initialize the well known SIDs */ 00027 LsapInitSids(); 00028 00029 /* Initialize the LSA database */ 00030 LsapInitDatabase(); 00031 00032 /* Start the RPC server */ 00033 LsarStartRpcServer(); 00034 00035 TRACE("Creating notification event!\n"); 00036 /* Notify the service manager */ 00037 hEvent = CreateEventW(NULL, 00038 TRUE, 00039 FALSE, 00040 L"LSA_RPC_SERVER_ACTIVE"); 00041 if (hEvent == NULL) 00042 { 00043 dwError = GetLastError(); 00044 TRACE("Failed to create the notication event (Error %lu)\n", dwError); 00045 00046 if (dwError == ERROR_ALREADY_EXISTS) 00047 { 00048 hEvent = OpenEventW(GENERIC_WRITE, 00049 FALSE, 00050 L"LSA_RPC_SERVER_ACTIVE"); 00051 if (hEvent == NULL) 00052 { 00053 ERR("Could not open the notification event (Error %lu)\n", GetLastError()); 00054 return STATUS_UNSUCCESSFUL; 00055 } 00056 } 00057 } 00058 00059 TRACE("Set notification event!\n"); 00060 SetEvent(hEvent); 00061 00062 /* NOTE: Do not close the event handle!!!! */ 00063 00064 StartAuthenticationPort(); 00065 00066 return STATUS_SUCCESS; 00067 } 00068 00069 00070 NTSTATUS WINAPI 00071 ServiceInit(VOID) 00072 { 00073 TRACE("ServiceInit() called\n"); 00074 return STATUS_SUCCESS; 00075 } 00076 00077 00078 void __RPC_FAR * __RPC_USER midl_user_allocate(SIZE_T len) 00079 { 00080 return RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, len); 00081 } 00082 00083 00084 void __RPC_USER midl_user_free(void __RPC_FAR * ptr) 00085 { 00086 RtlFreeHeap(RtlGetProcessHeap(), 0, ptr); 00087 } 00088 00089 /* EOF */ Generated on Fri May 25 2012 04:22:42 for ReactOS by
1.7.6.1
|