45 SC_HANDLE hServiceManager =
NULL;
46 SC_HANDLE hService =
NULL;
50 DWORD dwDisposition, dwError;
54 DPRINT(
"RegisterService()\n");
57 if (hServiceManager ==
NULL)
59 DPRINT1(
"OpenSCManager() failed!\n");
65 if (pszDisplayName ==
NULL)
67 DPRINT1(
"ReadString(IDS_DISPLAYNAME) failed!\n");
73 if (pszDescription ==
NULL)
75 DPRINT1(
"ReadString(IDS_DESCRIPTION) failed!\n");
87 L"%SystemRoot%\\system32\\svchost.exe -k netsvcs",
91 DPRINT1(
"CreateService() failed!\n");
99 &ServiceDescription) ==
FALSE)
101 DPRINT1(
"ChangeServiceConfig2() failed!\n");
107 L"System\\CurrentControlSet\\Services\\W32Time\\Parameters",
117 DPRINT1(
"RegCreateKeyEx() failed!\n");
122 pszValue =
L"%SystemRoot%\\system32\\w32time.dll";
131 DPRINT1(
"RegSetValueEx() failed!\n");
136 pszValue =
L"SvchostEntry_W32Time";
145 DPRINT1(
"RegSetValueEx() failed!\n");
#define SERVICE_ERROR_NORMAL
SC_HANDLE WINAPI CreateServiceW(SC_HANDLE hSCManager, LPCWSTR lpServiceName, LPCWSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword)
#define SERVICE_CONFIG_DESCRIPTION
LONG WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ LPDWORD lpdwDisposition)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
#define SC_MANAGER_CREATE_SERVICE
#define REG_OPTION_NON_VOLATILE
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
static PWSTR ReadString(_In_ UINT uID)
#define SERVICE_WIN32_SHARE_PROCESS
SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName, LPCWSTR lpDatabaseName, DWORD dwDesiredAccess)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define SERVICE_AUTO_START
BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE hService, DWORD dwInfoLevel, LPVOID lpInfo)
#define HeapFree(x, y, z)
#define RegCloseKey(hKey)
#define HKEY_LOCAL_MACHINE