ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

lsasrv.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.