diff --git a/reactos/base/system/services/database.c b/reactos/base/system/services/database.c index 3826f80c70f..571be99074b 100644 --- a/reactos/base/system/services/database.c +++ b/reactos/base/system/services/database.c @@ -116,12 +116,12 @@ ScmGetServiceEntryByResumeCount(DWORD dwResumeCount) PSERVICE -ScmGetServiceEntryByServiceStatusHandle(ULONG Handle) +ScmGetServiceEntryByClientHandle(ULONG Handle) { PLIST_ENTRY ServiceEntry; PSERVICE CurrentService; - DPRINT("ScmGetServiceEntryByServiceStatusHandle() called\n"); + DPRINT("ScmGetServiceEntryByClientHandle() called\n"); DPRINT("looking for %lu\n", Handle); ServiceEntry = ServiceListHead.Flink; @@ -131,7 +131,7 @@ ScmGetServiceEntryByServiceStatusHandle(ULONG Handle) SERVICE, ServiceListEntry); - if (CurrentService->hServiceStatus == Handle) + if (CurrentService->hClient == Handle) { DPRINT1("Found service: '%S'\n", CurrentService->lpDisplayName); return CurrentService; @@ -640,13 +640,14 @@ ScmSendStartCommand(PSERVICE Service, DPRINT("ArgsLength: %ld TotalLength: %ld\n", ArgsLength, TotalLength); /* Allocate a control packet */ - ControlPacket = (SCM_CONTROL_PACKET*) HeapAlloc(GetProcessHeap(), - HEAP_ZERO_MEMORY, - sizeof(SCM_CONTROL_PACKET) + (TotalLength - 1) * sizeof(WCHAR)); + ControlPacket = (SCM_CONTROL_PACKET*)HeapAlloc(GetProcessHeap(), + HEAP_ZERO_MEMORY, + sizeof(SCM_CONTROL_PACKET) + (TotalLength - 1) * sizeof(WCHAR)); if (ControlPacket == NULL) return ERROR_NOT_ENOUGH_MEMORY; ControlPacket->dwControl = SERVICE_CONTROL_START; + ControlPacket->hClient = Service->hClient; ControlPacket->dwSize = TotalLength; Ptr = &ControlPacket->szArguments[0]; wcscpy(Ptr, Service->lpServiceName); @@ -793,7 +794,7 @@ ScmStartUserModeService(PSERVICE Service, /* Read SERVICE_STATUS_HANDLE from pipe */ if (!ReadFile(Service->ControlPipeHandle, - (LPVOID)&Service->hServiceStatus, + (LPVOID)&Service->hClient, sizeof(DWORD), &dwRead, NULL)) @@ -804,8 +805,7 @@ ScmStartUserModeService(PSERVICE Service, } else { - DPRINT("Received service status %lu\n", Service->hServiceStatus); - DPRINT("calling ScmSendStartCommand on %S\n", Service->lpDisplayName); + DPRINT("Received service status %lu\n", Service->hClient); /* Send start command */ dwError = ScmSendStartCommand(Service, lpArgs); diff --git a/reactos/base/system/services/rpcserver.c b/reactos/base/system/services/rpcserver.c index 343fc97d4bb..89834b7fddb 100644 --- a/reactos/base/system/services/rpcserver.c +++ b/reactos/base/system/services/rpcserver.c @@ -717,7 +717,7 @@ ScmrSetServiceStatus(handle_t BindingHandle, if (ScmShutdown) return ERROR_SHUTDOWN_IN_PROGRESS; - lpService = ScmGetServiceEntryByServiceStatusHandle((ULONG)hServiceStatus); + lpService = ScmGetServiceEntryByClientHandle((ULONG)hServiceStatus); if (lpService == NULL) { DPRINT1("lpService == NULL!\n"); diff --git a/reactos/base/system/services/services.h b/reactos/base/system/services/services.h index 6638f3ed17d..13f23af7f5e 100644 --- a/reactos/base/system/services/services.h +++ b/reactos/base/system/services/services.h @@ -41,7 +41,7 @@ typedef struct _SERVICE BOOL bDeleted; DWORD dwResumeCount; - SERVICE_STATUS_HANDLE hServiceStatus; + CLIENT_HANDLE hClient; SERVICE_STATUS Status; DWORD dwStartType; DWORD dwErrorControl; @@ -105,7 +105,7 @@ DWORD ScmStartService(PSERVICE Service, PSERVICE ScmGetServiceEntryByName(LPWSTR lpServiceName); PSERVICE ScmGetServiceEntryByDisplayName(LPWSTR lpDisplayName); PSERVICE ScmGetServiceEntryByResumeCount(DWORD dwResumeCount); -PSERVICE ScmGetServiceEntryByServiceStatusHandle(ULONG ThreadId); +PSERVICE ScmGetServiceEntryByClientHandle(ULONG ThreadId); DWORD ScmCreateNewServiceRecord(LPWSTR lpServiceName, PSERVICE *lpServiceRecord); DWORD ScmMarkServiceForDelete(PSERVICE pService);