* @param waitHint
* time to wait
*/
protected void reportStatus(int status, int win32ExitCode, int waitHint)
{
Advapi32 advapi32;
Advapi32.SERVICE_STATUS serviceStatus;
advapi32 = Advapi32.INSTANCE;
serviceStatus = new Advapi32.SERVICE_STATUS();
serviceStatus.dwServiceType = WINNT.SERVICE_WIN32_OWN_PROCESS;
serviceStatus.dwControlsAccepted = WINSVC.SERVICE_ACCEPT_STOP | WINSVC.SERVICE_ACCEPT_SHUTDOWN;
serviceStatus.dwWin32ExitCode = win32ExitCode;
serviceStatus.dwWaitHint = waitHint;
serviceStatus.dwCurrentState = status;
serviceStatus.dwCheckPoint = checkPoint;
log("reporting status " + checkPoint);
advapi32.SetServiceStatus(serviceStatusHandle, serviceStatus);
}