From: Eric Kohl Date: Tue, 18 Sep 2012 20:37:51 +0000 (+0000) Subject: [SKEL_SERVICE] X-Git-Tag: backups/ros-csrss@57560~224 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=fa8ab28a6d5cf076ba04963e86833b307f7faf0f [SKEL_SERVICE] The HandlerEx control handler is DWORD WINAPI, not VOID WINAPI . Patch by Hermes BELUSCA - MAITO. Fixes ROSAPPS-243. svn path=/trunk/; revision=57324 --- diff --git a/rosapps/templates/skel_service/ServiceMain.c b/rosapps/templates/skel_service/ServiceMain.c index 0dc58482f8e..5832ad42373 100644 --- a/rosapps/templates/skel_service/ServiceMain.c +++ b/rosapps/templates/skel_service/ServiceMain.c @@ -100,7 +100,7 @@ CreateServiceThread(PSERVICEINFO pServInfo) } -VOID WINAPI +DWORD WINAPI ServerCtrlHandler(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, @@ -118,29 +118,34 @@ ServerCtrlHandler(DWORD dwControl, pServInfo->servStatus.dwWin32ExitCode = 0; pServInfo->servStatus.dwWaitHint = 0; UpdateStatus(pServInfo, SERVICE_STOP_PENDING, 1); - break; + return ERROR_SUCCESS; case SERVICE_CONTROL_PAUSE: LogEvent(_T("Setting the service to SERVICE_PAUSED"), 0, 0, LOG_FILE); InterlockedExchange((LONG *)&bPause, TRUE); UpdateStatus(pServInfo, SERVICE_PAUSED, 0); - break; + return ERROR_SUCCESS; case SERVICE_CONTROL_CONTINUE: LogEvent(_T("Setting the service to SERVICE_RUNNING"), 0, 0, LOG_FILE); InterlockedExchange((LONG *)&bPause, FALSE); UpdateStatus(pServInfo, SERVICE_RUNNING, 0); - break; + return ERROR_SUCCESS; case SERVICE_CONTROL_INTERROGATE: - break; + return ERROR_SUCCESS; default: - if (dwControl > 127 && dwControl < 256) /* user defined */ + if (dwControl >= 128 && dwControl <= 255) /* User defined */ + { LogEvent(_T("User defined control code"), 0, 0, LOG_FILE); + return ERROR_SUCCESS; + } else + { LogEvent(_T("ERROR: Bad control code"), 0, 0, LOG_FILE); - break; + return ERROR_INVALID_SERVICE_CONTROL; + } } }