--------------------- PatchSet 3458 Date: 2001/12/08 08:39:01 Author: serassio Branch: nt-2_3 Tag: (none) Log: Fixed a wrong reference to ChangeServiceConfig2 WIN32 system call when running on Windows NT 4.0 Members: src/win32.c:1.1.2.9->1.1.2.10 Index: squid/src/win32.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/win32.c,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -r1.1.2.9 -r1.1.2.10 --- squid/src/win32.c 2 Dec 2001 20:36:47 -0000 1.1.2.9 +++ squid/src/win32.c 8 Dec 2001 08:39:01 -0000 1.1.2.10 @@ -60,6 +60,13 @@ #define WIN32_VERSION "2.3-STABLE-5" #define COMMANDLINE "CommandLine" #define CONFIGFILE "ConfigFile" +#undef ChangeServiceConfig2 +typedef BOOL (WINAPI * PFChangeServiceConfig2) (SC_HANDLE, DWORD, LPVOID); +#ifdef UNICODE +#define CHANGESERVICECONFIG2 "ChangeServiceConfig2W" +#else +#define CHANGESERVICECONFIG2 "ChangeServiceConfig2A" +#endif static SC_ACTION Squid_SCAction[1]= { SC_ACTION_RESTART, 60000 }; static SERVICE_DESCRIPTION Squid_ServiceDescription = {SOFTWARENAME " " SQUID_VERSION " WWW Proxy Server"}; static SERVICE_FAILURE_ACTIONS Squid_ServiceFailureActions = { 0, NULL, NULL, 1, Squid_SCAction }; @@ -548,8 +555,12 @@ if (schService) { if ((WIN32_OS_version == _WIN_OS_WIN2K) || (WIN32_OS_version == _WIN_OS_WINXP)) { + HMODULE ADVAPI32Handle; + PFChangeServiceConfig2 ChangeServiceConfig2; DWORD dwInfoLevel = SERVICE_CONFIG_DESCRIPTION; + ADVAPI32Handle = GetModuleHandle("advapi32"); + ChangeServiceConfig2 = (PFChangeServiceConfig2) GetProcAddress(ADVAPI32Handle, CHANGESERVICECONFIG2); ChangeServiceConfig2(schService, dwInfoLevel, &Squid_ServiceDescription); dwInfoLevel = SERVICE_CONFIG_FAILURE_ACTIONS; ChangeServiceConfig2(schService, dwInfoLevel, &Squid_ServiceFailureActions);