diff options
author | Andreas Baumann <abaumann@yahoo.com> | 2009-03-28 08:52:01 +0100 |
---|---|---|
committer | Andreas Baumann <abaumann@yahoo.com> | 2009-03-28 08:52:01 +0100 |
commit | 6f229e42fe0a5357f0bdcd06a3a792a5f7b30ab4 (patch) | |
tree | 9c259c2915a42c7ac535f1795caf4a6fe93bcedd /src | |
parent | 03d693a59e880e33e895b29f5cc1ff849c8945fe (diff) | |
download | wolfbones-6f229e42fe0a5357f0bdcd06a3a792a5f7b30ab4.tar.gz wolfbones-6f229e42fe0a5357f0bdcd06a3a792a5f7b30ab4.tar.bz2 |
added description of service
Diffstat (limited to 'src')
-rw-r--r-- | src/log/wolfmsg.mc | 10 | ||||
-rw-r--r-- | src/service/service.c | 17 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/log/wolfmsg.mc b/src/log/wolfmsg.mc index afd799e..f3e65cc 100644 --- a/src/log/wolfmsg.mc +++ b/src/log/wolfmsg.mc @@ -873,6 +873,16 @@ Unable to create service '%1': %2 (%3) Language = German Kann den '%1' Dienst nicht erstellen: %2 (%3) . +MessageId = 3020 +Severity = Error +Facility = Application +SymbolicName = WOLF_MSG_SERVICE_CANT_SET_SERVICE_DESCRIPTION +Language = English +Unable to set description of service '%1': %2 (%3) +. +Language = German + +. MessageId = 3005 Severity = Informational Facility = Application diff --git a/src/service/service.c b/src/service/service.c index e1d11c1..d697b82 100644 --- a/src/service/service.c +++ b/src/service/service.c @@ -22,6 +22,8 @@ wolf_error_t wolf_service_install( wolf_service_params_t params ) { char errbuf[512]; DWORD res; TCHAR binary_path[MAX_PATH]; + BOOL rt; + SERVICE_DESCRIPTION descr; wolf_log( WOLF_LOG_DEBUG, WOLF_CATEGORY_SERVICE, WOLF_MSG_SERVICE_INSTALLING_SERVICE, _( "Installing service '%s'" ), params.service_name ); @@ -61,7 +63,7 @@ wolf_error_t wolf_service_install( wolf_service_params_t params ) { service = CreateService( scm, params.service_name, - params.service_name_descr, + params.service_display_name, SERVICE_ALL_ACCESS, SERVICE_WIN32_OWN_PROCESS, /* run isolated in its own process */ SERVICE_DEMAND_START, /* let the user choose the start type */ @@ -82,6 +84,19 @@ wolf_error_t wolf_service_install( wolf_service_params_t params ) { return WOLF_ERR_INTERNAL; } + /* set description of the service */ + descr.lpDescription = (LPTSTR)params.service_description; + rt = ChangeServiceConfig2( service, SERVICE_CONFIG_DESCRIPTION, &descr ); + if( !rt ) { + WOLF_LOG_GET_LAST_ERROR( GetLastError( ), errbuf, 512 ); + wolf_log( WOLF_LOG_ERR, WOLF_CATEGORY_SERVICE, WOLF_MSG_SERVICE_CANT_SET_SERVICE_DESCRIPTION, + _( "Unable to set description of service '%s': %s (%d)" ), + params.service_name, errbuf, GetLastError( ) ); + (void)CloseServiceHandle( service ); + (void)CloseServiceHandle( scm ); + return WOLF_ERR_INTERNAL; + } + (void)CloseServiceHandle( service ); (void)CloseServiceHandle( scm ); |