From 144100a4e2ada900d3347d32be9e7f7ff6fc819d Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Tue, 10 Sep 2013 08:55:09 +0000 Subject: [PATCH] [CSRSRV]: Update CSR_SERVER_DLL definition to Server 2003 instead of XP. Get rid of the whole initialization event stuff. This should make Windows CSRSS+CSRSRV work with our BASESRV. Thanks to Hermes for discovering there was a structure issue. svn path=/trunk/; revision=60001 --- reactos/include/reactos/subsys/csr/csrsrv.h | 3 +-- reactos/subsystems/win32/csrsrv/init.c | 26 --------------------- reactos/subsystems/win32/csrsrv/server.c | 1 - 3 files changed, 1 insertion(+), 29 deletions(-) diff --git a/reactos/include/reactos/subsys/csr/csrsrv.h b/reactos/include/reactos/subsys/csr/csrsrv.h index 19acf19d1ff..7e1c41d9392 100644 --- a/reactos/include/reactos/subsys/csr/csrsrv.h +++ b/reactos/include/reactos/subsys/csr/csrsrv.h @@ -208,7 +208,6 @@ ULONG typedef struct _CSR_SERVER_DLL { ULONG Length; - HANDLE Event; ANSI_STRING Name; HANDLE ServerHandle; ULONG ServerId; @@ -227,7 +226,7 @@ typedef struct _CSR_SERVER_DLL PCSR_SHUTDOWNPROCESS_CALLBACK ShutdownProcessCallback; ULONG Unknown2[3]; } CSR_SERVER_DLL, *PCSR_SERVER_DLL; - +C_ASSERT(FIELD_OFFSET(CSR_SERVER_DLL, SharedSection) == 0x3C); typedef NTSTATUS diff --git a/reactos/subsystems/win32/csrsrv/init.c b/reactos/subsystems/win32/csrsrv/init.c index 3795185d3ed..670e415a51c 100644 --- a/reactos/subsystems/win32/csrsrv/init.c +++ b/reactos/subsystems/win32/csrsrv/init.c @@ -32,7 +32,6 @@ ULONG SessionId; HANDLE BNOLinksDirectory; HANDLE SessionObjectDirectory; HANDLE DosDevicesDirectory; -HANDLE CsrInitializationEvent; SYSTEM_BASIC_INFORMATION CsrNtSysInfo; @@ -963,19 +962,6 @@ CsrServerInitialization(IN ULONG ArgumentCount, { NTSTATUS Status = STATUS_SUCCESS; - /* Create the Init Event */ - Status = NtCreateEvent(&CsrInitializationEvent, - EVENT_ALL_ACCESS, - NULL, - SynchronizationEvent, - FALSE); - if (!NT_SUCCESS(Status)) - { - DPRINT1("CSRSRV:%s: NtCreateEvent failed (Status=%08lx)\n", - __FUNCTION__, Status); - return Status; - } - /* Cache System Basic Information so we don't always request it */ Status = NtQuerySystemInformation(SystemBasicInformation, &CsrNtSysInfo, @@ -1066,18 +1052,6 @@ CsrServerInitialization(IN ULONG ArgumentCount, return Status; } - /* Finito! Signal the event */ - Status = NtSetEvent(CsrInitializationEvent, NULL); - if (!NT_SUCCESS(Status)) - { - DPRINT1("CSRSRV:%s: NtSetEvent failed (Status=%08lx)\n", - __FUNCTION__, Status); - return Status; - } - - /* Close the event handle now */ - NtClose(CsrInitializationEvent); - /* Have us handle Hard Errors */ Status = NtSetDefaultHardErrorPort(CsrApiPort); if (!NT_SUCCESS(Status)) diff --git a/reactos/subsystems/win32/csrsrv/server.c b/reactos/subsystems/win32/csrsrv/server.c index 5943d2a680b..fca819c7d33 100644 --- a/reactos/subsystems/win32/csrsrv/server.c +++ b/reactos/subsystems/win32/csrsrv/server.c @@ -168,7 +168,6 @@ CsrLoadServerDll(IN PCHAR DllString, /* Set up the Object */ ServerDll->Length = Size; ServerDll->SharedSection = CsrSrvSharedSectionHeap; // Send to the server dll our shared heap pointer. - ServerDll->Event = CsrInitializationEvent; ServerDll->Name.Length = DllName.Length; ServerDll->Name.MaximumLength = DllName.MaximumLength; ServerDll->Name.Buffer = (PCHAR)(ServerDll + 1);