/* * Due to Knowledge base article Q263823 we need to make sure that * Windows 2000 systems have Service Pack 2 or later installed and * warn when it isn't. */ static void version_check(const char *progname) { if(isc_win32os_majorversion() < 5) return; /* No problem with Version 4.0 */ if(isc_win32os_versioncheck(5, 0, 2, 0) < 0) if (ntservice_isservice()) NTReportError(progname, version_error); else fprintf(stderr, "%s\n", version_error); }
/* * Initialize the Service by registering it. */ void ntservice_init() { if (!foreground) { /* Register handler with the SCM */ hServiceStatus = RegisterServiceCtrlHandler(NTP_DISPLAY_NAME, (LPHANDLER_FUNCTION)ServiceControl); if (!hServiceStatus) { NTReportError(NTP_SERVICE_NAME, "could not register service control handler"); UpdateSCM(SERVICE_STOPPED); exit(1); } UpdateSCM(SERVICE_RUNNING); } else { strcpy(ConsoleTitle, "NTP Version "); strcat(ConsoleTitle, Version); SetConsoleTitle(ConsoleTitle); } atexit( ntservice_exit ); }