Index: base/services/svchost/svchost.c =================================================================== --- base/services/svchost/svchost.c (wersja 50820) +++ base/services/svchost/svchost.c (kopia robocza) @@ -161,50 +161,60 @@ */ DWORD LoadServiceCategory(LPCTSTR ServiceCategory) { - HKEY hServicesKey; - DWORD KeyType; - DWORD BufferSize = REG_MAX_DATA_SIZE; - TCHAR Buffer[REG_MAX_DATA_SIZE]; - LPCTSTR ServiceName; - DWORD BufferIndex = 0; - DWORD NrOfServices = 0; + HKEY hServicesKey; + DWORD KeyType; + DWORD BufferSize = REG_MAX_DATA_SIZE; + TCHAR Buffer[REG_MAX_DATA_SIZE]; + LPCTSTR ServiceName; + DWORD BufferIndex = 0; + DWORD NrOfServices = 0; - /* Get all the services in this category */ - if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE, SVCHOST_REG_KEY, 0, KEY_READ, &hServicesKey)) - { - DPRINT1("Could not open service category: %s\n", ServiceCategory); - return 0; - } + /* Get all the services in this category */ + if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE, SVCHOST_REG_KEY, +0, KEY_READ, &hServicesKey)) + { + DPRINT1("Could not open service category: %s\n", +ServiceCategory); + return 0; + } - if (ERROR_SUCCESS != RegQueryValueEx(hServicesKey, ServiceCategory, NULL, &KeyType, (LPBYTE)Buffer, &BufferSize)) - { - DPRINT1("Could not open service category (2): %s\n", ServiceCategory); - RegCloseKey(hServicesKey); - return 0; - } + if (ERROR_SUCCESS != RegQueryValueEx(hServicesKey, ServiceCategory, +NULL, &KeyType, (LPBYTE)Buffer, &BufferSize)) + { + DPRINT1("Could not open service category (2): %s\n", +ServiceCategory); + RegCloseKey(hServicesKey); + return 0; + } - /* Clean up */ - RegCloseKey(hServicesKey); + /* Clean up */ + RegCloseKey(hServicesKey); - /* Load services in the category */ - ServiceName = Buffer; - while (_T('\0') != ServiceName[0]) - { - size_t Length; - - Length = _tcslen(ServiceName); - if (0 == Length) - break; + /* Load services in the category */ + ServiceName = Buffer; + while (_T('\0') != ServiceName[0]) + { + size_t Length; - if (TRUE == PrepareService(ServiceName)) - ++NrOfServices; + Length = _tcslen(ServiceName); + if (0 == Length) + break; - BufferIndex += (Length + 1) * sizeof(TCHAR); + if (strcmp(ServiceName, "DHCP") == 0) + { + BufferIndex += (Length + 1) * sizeof(TCHAR); + ServiceName = &Buffer[BufferIndex]; + continue; + } - ServiceName = &Buffer[BufferIndex]; - } + if (TRUE == PrepareService(ServiceName)) + ++NrOfServices; - return NrOfServices; + BufferIndex += (Length + 1) * sizeof(TCHAR); + ServiceName = &Buffer[BufferIndex]; + } + + return NrOfServices; } int _tmain (int argc, LPTSTR argv []) Index: dll/win32/advapi32/service/scm.c =================================================================== --- dll/win32/advapi32/service/scm.c (wersja 50820) +++ dll/win32/advapi32/service/scm.c (kopia robocza) @@ -2407,7 +2407,7 @@ if (dwError != ERROR_SUCCESS) { - TRACE("RStartServiceW() failed (Error %lu)\n", dwError); + ERR("RStartServiceW() failed (Error %lu)\n", dwError); SetLastError(dwError); return FALSE; } Index: dll/win32/syssetup/install.c =================================================================== --- dll/win32/syssetup/install.c (wersja 50820) +++ dll/win32/syssetup/install.c (kopia robocza) @@ -508,7 +508,7 @@ ret = StartServiceW(hService, 0, NULL); if (!ret) { - DPRINT("Unable to start service\n"); + DPRINT1("Unable to start service\n"); goto cleanup; }