OSDN Git Service

2001-12-17 Guido Serassio <serassio@libero.it>
authorrbcollins <rbcollins>
Sun, 16 Dec 2001 21:57:36 +0000 (21:57 +0000)
committerrbcollins <rbcollins>
Sun, 16 Dec 2001 21:57:36 +0000 (21:57 +0000)
        * include/winsvc.h: Add ChangeServiceConfig2() &
        QueryServiceConfig2() definition

winsup/w32api/ChangeLog
winsup/w32api/include/winsvc.h

index b787fce..04a5c57 100644 (file)
@@ -1,4 +1,9 @@
-2001-12-17  Robret Collins  <rbtcollins@hotmail.com>
+2001-12-17  Guido Serassio <serassio@libero.it>
+
+       * include/winsvc.h: Add ChangeServiceConfig2() &
+       QueryServiceConfig2() definition
+    
+2001-12-17  Robert Collins  <rbtcollins@hotmail.com>
 
        * include/commctrl.h: New typedefs for HDLAYOUT and LPHDLAYOUT based
        on MSDN documentation for XP.
index 11b1361..b3d1503 100644 (file)
@@ -45,7 +45,8 @@ extern "C" {
 #define SERVICE_INTERROGATE 128
 #define SERVICE_USER_DEFINED_CONTROL 256
 #define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVICE_QUERY_CONFIG|SERVICE_CHANGE_CONFIG|SERVICE_QUERY_STATUS|SERVICE_ENUMERATE_DEPENDENTS|SERVICE_START|SERVICE_STOP|SERVICE_PAUSE_CONTINUE|SERVICE_INTERROGATE|SERVICE_USER_DEFINED_CONTROL)
-
+#define SERVICE_CONFIG_DESCRIPTION     1
+#define SERVICE_CONFIG_FAILURE_ACTIONS 2
 
 typedef struct _SERVICE_STATUS {
        DWORD dwServiceType;
@@ -113,9 +114,41 @@ typedef SC_HANDLE *LPSC_HANDLE;
 typedef PVOID SC_LOCK;
 typedef DWORD SERVICE_STATUS_HANDLE;
 typedef VOID(WINAPI *LPHANDLER_FUNCTION)(DWORD);
+typedef struct _SERVICE_DESCRIPTIONA {
+       LPSTR lpDescription;
+} SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA;
+typedef struct _SERVICE_DESCRIPTIONW {
+       LPWSTR lpDescription;
+} SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW;
+typedef enum _SC_ACTION_TYPE {
+        SC_ACTION_NONE          = 0,
+        SC_ACTION_RESTART       = 1,
+        SC_ACTION_REBOOT        = 2,
+        SC_ACTION_RUN_COMMAND   = 3
+} SC_ACTION_TYPE;
+typedef struct _SC_ACTION {
+       SC_ACTION_TYPE  Type;
+       DWORD           Delay;
+} SC_ACTION,*LPSC_ACTION;
+typedef struct _SERVICE_FAILURE_ACTIONSA {
+       DWORD   dwResetPeriod;
+       LPSTR   lpRebootMsg;
+       LPSTR   lpCommand;
+       DWORD   cActions;
+       SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA;
+typedef struct _SERVICE_FAILURE_ACTIONSW {
+       DWORD   dwResetPeriod;
+       LPWSTR  lpRebootMsg;
+       LPWSTR  lpCommand;
+       DWORD   cActions;
+       SC_ACTION * lpsaActions;
+} SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW;
 
 BOOL WINAPI ChangeServiceConfigA(SC_HANDLE,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,LPDWORD,LPCSTR,LPCSTR,LPCSTR,LPCSTR);
 BOOL WINAPI ChangeServiceConfigW(SC_HANDLE,DWORD,DWORD,DWORD,LPCWSTR,LPCWSTR,LPDWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
+BOOL WINAPI ChangeServiceConfig2A(SC_HANDLE,DWORD,LPVOID);
+BOOL WINAPI ChangeServiceConfig2W(SC_HANDLE,DWORD,LPVOID);
 BOOL WINAPI CloseServiceHandle(SC_HANDLE);
 BOOL WINAPI ControlService(SC_HANDLE,DWORD,LPSERVICE_STATUS);
 SC_HANDLE WINAPI CreateServiceA(SC_HANDLE,LPCSTR,LPCSTR,DWORD,DWORD,DWORD,DWORD,LPCSTR,LPCSTR,PDWORD,LPCSTR,LPCSTR,LPCSTR);
@@ -137,6 +170,8 @@ SC_HANDLE WINAPI OpenServiceA(SC_HANDLE,LPCSTR,DWORD);
 SC_HANDLE WINAPI OpenServiceW(SC_HANDLE,LPCWSTR,DWORD);
 BOOL WINAPI QueryServiceConfigA(SC_HANDLE,LPQUERY_SERVICE_CONFIGA,DWORD,PDWORD);
 BOOL WINAPI QueryServiceConfigW(SC_HANDLE,LPQUERY_SERVICE_CONFIGW,DWORD,PDWORD);
+BOOL WINAPI QueryServiceConfig2A(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
+BOOL WINAPI QueryServiceConfig2W(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
 BOOL WINAPI QueryServiceLockStatusA(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSA,DWORD,PDWORD);
 BOOL WINAPI QueryServiceLockStatusW(SC_HANDLE,LPQUERY_SERVICE_LOCK_STATUSW,DWORD,PDWORD);
 BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
@@ -157,10 +192,15 @@ typedef QUERY_SERVICE_CONFIGW QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
 typedef QUERY_SERVICE_LOCK_STATUSW QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
 typedef SERVICE_TABLE_ENTRYW SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
 typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
+typedef SERVICE_DESCRIPTIONW SERVICE_DESCRIPTION;
+typedef LPSERVICE_DESCRIPTIONW LPSERVICE_DESCRIPTION;
+typedef SERVICE_FAILURE_ACTIONSW SERVICE_FAILURE_ACTIONS;
+typedef LPSERVICE_FAILURE_ACTIONSW LPSERVICE_FAILURE_ACTIONS;
 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEW
 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEW
 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERW
 #define ChangeServiceConfig ChangeServiceConfigW
+#define ChangeServiceConfig2 ChangeServiceConfig2W
 #define CreateService CreateServiceW
 #define EnumDependentServices EnumDependentServicesW
 #define EnumServicesStatus EnumServicesStatusW
@@ -169,6 +209,7 @@ typedef LPSERVICE_MAIN_FUNCTIONW LPSERVICE_MAIN_FUNCTION;
 #define OpenSCManager OpenSCManagerW
 #define OpenService OpenServiceW
 #define QueryServiceConfig QueryServiceConfigW
+#define QueryServiceConfig2 QueryServiceConfig2W
 #define QueryServiceLockStatus QueryServiceLockStatusW
 #define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerW
 #define StartService StartServiceW
@@ -179,10 +220,15 @@ typedef QUERY_SERVICE_CONFIGA QUERY_SERVICE_CONFIG,*LPQUERY_SERVICE_CONFIG;
 typedef QUERY_SERVICE_LOCK_STATUSA QUERY_SERVICE_LOCK_STATUS,*LPQUERY_SERVICE_LOCK_STATUS;
 typedef SERVICE_TABLE_ENTRYA SERVICE_TABLE_ENTRY,*LPSERVICE_TABLE_ENTRY;
 typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
+typedef SERVICE_DESCRIPTIONA SERVICE_DESCRIPTION;
+typedef LPSERVICE_DESCRIPTIONA LPSERVICE_DESCRIPTION;
+typedef SERVICE_FAILURE_ACTIONSA SERVICE_FAILURE_ACTIONS;
+typedef LPSERVICE_FAILURE_ACTIONSA LPSERVICE_FAILURE_ACTIONS;
 #define SERVICES_ACTIVE_DATABASE SERVICES_ACTIVE_DATABASEA
 #define SERVICES_FAILED_DATABASE SERVICES_FAILED_DATABASEA
 #define SC_GROUP_IDENTIFIER SC_GROUP_IDENTIFIERA
 #define ChangeServiceConfig ChangeServiceConfigA
+#define ChangeServiceConfig2 ChangeServiceConfig2A
 #define CreateService CreateServiceA
 #define EnumDependentServices EnumDependentServicesA
 #define EnumServicesStatus EnumServicesStatusA
@@ -191,6 +237,7 @@ typedef LPSERVICE_MAIN_FUNCTIONA LPSERVICE_MAIN_FUNCTION;
 #define OpenSCManager OpenSCManagerA
 #define OpenService OpenServiceA
 #define QueryServiceConfig QueryServiceConfigA
+#define QueryServiceConfig2 QueryServiceConfig2A
 #define QueryServiceLockStatus QueryServiceLockStatusA
 #define RegisterServiceCtrlHandler RegisterServiceCtrlHandlerA
 #define StartService StartServiceA