mirror of
https://github.com/reactos/reactos.git
synced 2026-06-03 17:59:48 +08:00
[BROWSER][BOOTDATA] Make the Browser service start properly
- Implement SvchostPushServiceGlobals() to make svchost happy. - Add the Browser service to the netsvcs group. CORE-18262
This commit is contained in:
@@ -15,6 +15,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(browser);
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
HINSTANCE hDllInstance;
|
||||
PSVCHOST_GLOBAL_DATA lpServiceGlobals;
|
||||
|
||||
static WCHAR ServiceName[] = L"browser";
|
||||
|
||||
@@ -31,7 +32,12 @@ UpdateServiceStatus(
|
||||
{
|
||||
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
|
||||
ServiceStatus.dwCurrentState = dwState;
|
||||
ServiceStatus.dwControlsAccepted = 0;
|
||||
|
||||
if (dwState == SERVICE_RUNNING)
|
||||
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_STOP;
|
||||
else
|
||||
ServiceStatus.dwControlsAccepted = 0;
|
||||
|
||||
ServiceStatus.dwWin32ExitCode = 0;
|
||||
ServiceStatus.dwServiceSpecificExitCode = 0;
|
||||
ServiceStatus.dwCheckPoint = 0;
|
||||
@@ -87,6 +93,8 @@ ServiceControlHandler(
|
||||
|
||||
case SERVICE_CONTROL_SHUTDOWN:
|
||||
TRACE(" SERVICE_CONTROL_SHUTDOWN received\n");
|
||||
/* Stop listening to incoming RPC messages */
|
||||
RpcMgmtStopServerListening(NULL);
|
||||
UpdateServiceStatus(SERVICE_STOPPED);
|
||||
return ERROR_SUCCESS;
|
||||
|
||||
@@ -125,8 +133,8 @@ ServiceInit(VOID)
|
||||
VOID
|
||||
WINAPI
|
||||
ServiceMain(
|
||||
_In_ INT ArgCount,
|
||||
_In_ PWSTR *ArgVector)
|
||||
_In_ DWORD ArgCount,
|
||||
_In_ LPWSTR *ArgVector)
|
||||
{
|
||||
DWORD dwError;
|
||||
|
||||
@@ -158,6 +166,16 @@ ServiceMain(
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
WINAPI
|
||||
SvchostPushServiceGlobals(
|
||||
_In_ PSVCHOST_GLOBAL_DATA lpGlobals)
|
||||
{
|
||||
TRACE("SvchostPushServiceGlobals(%p)\n", lpGlobals);
|
||||
lpServiceGlobals = lpGlobals;
|
||||
}
|
||||
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DllMain(
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
@ stub I_BrowserServerEnumForXactsrv
|
||||
@ stdcall ServiceMain(long ptr)
|
||||
@ stub SvchostPushServiceGlobals
|
||||
@ stdcall SvchostPushServiceGlobals(ptr)
|
||||
|
||||
@@ -18,12 +18,14 @@
|
||||
#include <winbase.h>
|
||||
#include <winreg.h>
|
||||
#include <winsvc.h>
|
||||
#include <svc.h>
|
||||
|
||||
#include <browser_s.h>
|
||||
|
||||
#include <wine/debug.h>
|
||||
|
||||
extern HINSTANCE hDllInstance;
|
||||
extern PSVCHOST_GLOBAL_DATA lpServiceGlobals;
|
||||
|
||||
DWORD
|
||||
WINAPI
|
||||
|
||||
@@ -2031,7 +2031,7 @@ HKLM,"SOFTWARE\Microsoft\Ole","EnableRemoteConnect",0x00000000,"N"
|
||||
; SvcHost services
|
||||
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost",,0x00000012
|
||||
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","DcomLaunch",0x00010000,"DcomLaunch","PlugPlay"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","netsvcs",0x00010000,"BITS","DHCP","lanmanserver","lanmanworkstation","Schedule","seclogon","Themes","W32Time","winmgmt","wuauserv"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","netsvcs",0x00010000,"BITS","Browser","DHCP","lanmanserver","lanmanworkstation","Schedule","seclogon","Themes","W32Time","winmgmt","wuauserv"
|
||||
HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost","NetworkService",0x00010000,"DnsCache"
|
||||
|
||||
; Win32 config
|
||||
|
||||
Reference in New Issue
Block a user