/**********************************************************************
* NAME PRIVATE
- * CsrpOpenKeInitDoneEvent/0
+ * CsrpOpenSmInitDoneEvent/0
*/
static NTSTATUS STDCALL
-CsrpOpenKeInitDoneEvent (PHANDLE CsrssInitEvent)
+CsrpOpenSmInitDoneEvent (PHANDLE CsrssInitEvent)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING EventName;
Status);
}
/*
- * Open the Ke notification event to notify we are OK after
+ * Open the SM notification event to notify we are OK after
* subsystem server initialization.
*/
- Status = CsrpOpenKeInitDoneEvent(& CsrssInitEvent);
+ Status = CsrpOpenSmInitDoneEvent(& CsrssInitEvent);
if (!NT_SUCCESS(Status))
{
- DbgPrint("CSR: CsrpOpenKeInitDoneEvent failed (Status=0x%08lx)\n",
+ DbgPrint("CSR: CsrpOpenSmInitDoneEvent failed (Status=0x%08lx)\n",
Status);
}
/*==================================================================
if (CsrServerInitialization (CmdLineArg.Count, CmdLineArg.Vector) == TRUE)
{
/*=============================================================
- * Tell Ke we are up and safe. If we fail to notify Ke, it will
- * bugcheck the system with SESSION5_INITIALIZATION_FAILED.
- * TODO: choose a better way to check user mode initialization
- * is OK.
+ * Tell SM we are up and safe. If we fail to notify SM, it will
+ * die and the kernel will bugcheck with
+ * SESSION5_INITIALIZATION_FAILED.
+ * TODO: this won't be necessary, because CSR will call SM
+ * API SM_SESSION_COMPLETE.
*===========================================================*/
NtSetEvent (CsrssInitEvent, NULL);
+++ /dev/null
-# $Id: $\r
-\r
-PATH_TO_TOP = ../../..\r
-\r
-TARGET_TYPE = dynlink\r
-\r
-TARGET_NAME = win32mu\r
-\r
-TARGET_BASE = 0x5ffb0000\r
-\r
-# require os code to explicitly request A/W version of structs/functions\r
-TARGET_CFLAGS += -D__USE_W32API -D_DISABLE_TIDENTS -Wall -Werror -I../include\r
-\r
-TARGET_LFLAGS = -nostartfiles -nostdlib\r
-\r
-TARGET_SDKLIBS = ntdll.a kernel32.a user32.a gdi32.a\r
-\r
-TARGET_OBJECTS = dllmain.o init.o\r
-\r
-TARGET_ENTRY = _DllMain@12\r
-\r
-DEP_OBJECTS = $(TARGET_OBJECTS)\r
-\r
-include $(PATH_TO_TOP)/rules.mak\r
-\r
-include $(TOOLS_PATH)/helper.mk\r
-\r
-include $(TOOLS_PATH)/depend.mk\r
+++ /dev/null
-/* $Id: $\r
- *\r
- * COPYRIGHT: See COPYING in the top level directory\r
- * PROJECT: ReactOS system libraries\r
- * FILE: subsys/csrss/win32csr/dllmain.c\r
- * PURPOSE: Initialization \r
- */\r
-\r
-/* INCLUDES ******************************************************************/\r
-\r
-#include <windows.h>\r
-#include "csrplugin.h"\r
-\r
-#define NDEBUG\r
-#include <debug.h>\r
-\r
-\r
-/* GLOBALS *******************************************************************/\r
-\r
-HINSTANCE DllHandle = (HINSTANCE) 0;\r
-\r
-/* FUNCTIONS *****************************************************************/\r
-\r
-BOOL STDCALL\r
-DllMain(HANDLE hDll,\r
- DWORD dwReason,\r
- LPVOID lpReserved)\r
-{\r
- if (DLL_PROCESS_ATTACH == dwReason)\r
- {\r
- DllHandle = hDll;\r
- }\r
-\r
- return TRUE;\r
-}\r
-\r
-/* EOF */\r
+++ /dev/null
-/* $Id: $\r
- *\r
- * WIN32MU.DLL - init.c - Initialize the server DLL\r
- * \r
- * ReactOS Operating System\r
- * \r
- * --------------------------------------------------------------------\r
- *\r
- * This software is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License as\r
- * published by the Free Software Foundation; either version 2 of the\r
- * License, or (at your option) any later version.\r
- *\r
- * This software is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
- * General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with this software; see the file COPYING.LIB. If not, write\r
- * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,\r
- * MA 02139, USA. \r
- *\r
- * --------------------------------------------------------------------\r
- */\r
-#define NTOS_MODE_USER\r
-#include <ntos.h>\r
-\r
-#define NDEBUG\r
-#include <debug.h>\r
-\r
-#include "w32mu.h"\r
-\r
-static NTSTATUS STDCALL\r
-W32muLoadRemoteTerminalProxy (VOID)\r
-{\r
- SYSTEM_LOAD_AND_CALL_IMAGE ImageInfo;\r
- NTSTATUS Status = STATUS_SUCCESS;\r
-\r
- DPRINT("W32MU: loading remote terminal device\n");\r
- \r
- /* Load kernel mode module */\r
- RtlInitUnicodeString (& ImageInfo.ModuleName,\r
- L"\\SystemRoot\\system32\\w32mut.sys");\r
-\r
- Status = NtSetSystemInformation (SystemLoadAndCallImage,\r
- & ImageInfo,\r
- sizeof (SYSTEM_LOAD_AND_CALL_IMAGE));\r
-\r
- DPRINT("W32MU: w32mut.sys loaded\n", Status);\r
- if (!NT_SUCCESS(Status))\r
- {\r
- DPRINT("W32MU: loading w32mut.sys failed (Status=0x%08lx)\n", Status);\r
- return Status;\r
- }\r
- return Status;\r
-}\r
-\r
-/* Public entry point for CSRSS.EXE to load us */\r
-\r
-NTSTATUS STDCALL\r
-ServerDllInitialization (int a0, int a1, int a2, int a3, int a4)\r
-{\r
- NTSTATUS Status = STATUS_SUCCESS;\r
- \r
- /* TODO:\r
- * 1) load a kernel mode module to make Kmode happy\r
- * (it will provide keyoard, display and pointer\r
- * devices for window stations not attached to \r
- * the console);\r
- */\r
- Status = W32muLoadRemoteTerminalProxy (); \r
- /*\r
- * 2) pick up from the registry the list of session\r
- * access providers (SAP: Local, RFB, RDP, ICA, ...);\r
- * 3) initialize each SAP;\r
- * 4) on SAP events, provide:\r
- * 4.1) create session (SESSION->new);\r
- * 4.2) suspend session (SESSION->state_change);\r
- * 4.3) destroy session (SESSION->delete).\r
- */\r
- return Status;\r
-}\r
-\r
-/* EOF */\r
+++ /dev/null
-; $Id: $\r
-LIBRARY win32mu.dll\r
-EXPORTS\r
-ServerDllInitialization@20\r
+++ /dev/null
-#define REACTOS_VERSION_DLL\r
-#define REACTOS_STR_FILE_DESCRIPTION "ReactOS/Win32 Multiuser Server\0"\r
-#define REACTOS_STR_INTERNAL_NAME "win32mu\0"\r
-#define REACTOS_STR_ORIGINAL_FILENAME "win32mu.dll\0"\r
-#include <reactos/version.rc>\r