Revert r18735 and add the missing definition to svcctl.idl.
[reactos.git] / reactos / include / idl / svcctl.idl
index a0b5efe..0327104 100644 (file)
@@ -8,8 +8,10 @@
 #define DWORD unsigned long\r
 #define BOOL unsigned long\r
 #define SC_HANDLE unsigned int\r
+#define SC_LOCK unsigned int\r
 #define LPCSTR char*\r
 #define LPCWSTR wchar_t*\r
+#define LPDWORD unsigned long*\r
 \r
 [\r
   uuid(367abb81-9844-35f1-ad32-98f038001003),\r
@@ -19,7 +21,7 @@
 ]\r
 interface svcctl\r
 {\r
-cpp_quote("#if 0");\r
+cpp_quote("#if 0")\r
   typedef struct _SERVICE_STATUS\r
   {\r
     DWORD dwServiceType;\r
@@ -30,43 +32,110 @@ cpp_quote("#if 0");
     DWORD dwCheckPoint;\r
     DWORD dwWaitHint;\r
   } SERVICE_STATUS, *LPSERVICE_STATUS;\r
-cpp_quote("#endif");\r
+cpp_quote("#endif")\r
 \r
-  /* Service 0 */\r
+  /* Function 0 */\r
   DWORD ScmrCloseServiceHandle([in] handle_t BindingHandle,\r
                                [in] SC_HANDLE hSCObject);\r
 \r
-  /* Service 1 */\r
-//  BOOL ScmrControlService([in] handle_t BindingHandle,\r
-//                          [in] SC_HANDLE hService,\r
-//                          [in] DWORD dwControl,\r
-//                          [out] LPSERVICE_STATUS lpServiceStatus);\r
+  /* Function 1 */\r
+  BOOL ScmrControlService([in] handle_t BindingHandle,\r
+                          [in] SC_HANDLE hService,\r
+                          [in] DWORD dwControl,\r
+                          [out] LPSERVICE_STATUS lpServiceStatus);\r
 \r
-  /* Service 2 */\r
+  /* Function 2 */\r
   DWORD ScmrDeleteService([in] handle_t BindingHandle,\r
                           [in] SC_HANDLE hService);\r
 \r
-  DWORD ScmrOpenSCManagerA([in] handle_t BindingHandle,\r
-                           [in, string, unique] LPCSTR lpMachineName,\r
-                           [in, string, unique] LPCSTR lpDatabaseName,\r
+  /* Function 3 */\r
+  DWORD ScmrLockServiceDatabase([in] handle_t BindingHandle,\r
+                                [in] SC_HANDLE hSCManager,\r
+                                [out] SC_LOCK *hLock);\r
+\r
+  /* Function 4 */\r
+  DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
+\r
+  /* Function 5 */\r
+  DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
+\r
+  /* Function 6 */\r
+  DWORD ScmrQueryServiceStatus([in] handle_t BindingHandle,\r
+                               [in] SC_HANDLE hSCManager,\r
+                               [out] LPSERVICE_STATUS lpServiceStatus);\r
+\r
+  /* Function 7 */\r
+  DWORD ScmrSetServiceStatus([in] handle_t BindingHandle); /* FIXME */\r
+\r
+  /* Function 8 */\r
+  DWORD ScmrUnlockServiceDatabase([in] handle_t BindingHandle,\r
+                                  [in] SC_LOCK hLock);\r
+\r
+  /* Function 9 */\r
+  DWORD ScmrNotifyBootConfigStatus([in] handle_t BindingHandle,\r
+                                   [in] BOOL BootAcceptable);\r
+  /* Function 11 */\r
+  DWORD ScmrChangeServiceConfigW([in] handle_t BiningHandle,\r
+                                 [in] SC_HANDLE hSCManager,\r
+                                 [in] DWORD dwServiceType,\r
+                                 [in] DWORD dwStartType,\r
+                                [in] DWORD dwErrorControl,\r
+                                 [in, string, ref] LPCWSTR lpBinaryPathName,\r
+                                [in, string, unique] LPCWSTR lpLoadOrderGroup,\r
+                                 [in, out, unique] LPDWORD lpdwTagId,\r
+                                 [in, size_is(dwDependenciesLength), unique] LPCWSTR lpDependencies,\r
+                                 [in] DWORD dwDependenciesLength,\r
+                                 [in, string, unique] LPCWSTR lpServiceStartName,\r
+                                 [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,\r
+                                 [in] DWORD dwPasswordLength,\r
+                                 [in, string, unique] LPCWSTR lpDisplayName);\r
+\r
+  /* Function 12 */\r
+  DWORD ScmrCreateServiceW([in] handle_t BindingHandle,\r
+                           [in] SC_HANDLE hSCManager,\r
+                           [in, string, ref] LPCWSTR lpServiceName,\r
+                           [in, string, unique] LPCWSTR lpDisplayName,\r
                            [in] DWORD dwDesiredAccess,\r
-                           [out] SC_HANDLE *hScm);\r
+                           [in] DWORD dwServiceType,\r
+                           [in] DWORD dwStartType,\r
+                           [in] DWORD dwErrorControl,\r
+                           [in, string, ref] LPCWSTR lpBinaryPathName,\r
+                           [in, string, unique] LPCWSTR lpLoadOrderGroup,\r
+                           [in, out, unique] LPDWORD lpdwTagId,\r
+                           [in, size_is(dwDependenciesLength), unique] LPCWSTR lpDependencies,\r
+                           [in] DWORD dwDependenciesLength,\r
+                           [in, string, unique] LPCWSTR lpServiceStartName,\r
+                           [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,\r
+                           [in] DWORD dwPasswordLength,\r
+                           [out] SC_HANDLE *hService);\r
 \r
+\r
+  /* Function 15 */\r
   DWORD ScmrOpenSCManagerW([in] handle_t BindingHandle,\r
                            [in, string, unique] LPCWSTR lpMachineName,\r
                            [in, string, unique] LPCWSTR lpDatabaseName,\r
                            [in] DWORD dwDesiredAccess,\r
                            [out] SC_HANDLE *hScm);\r
 \r
-  SC_HANDLE ScmrOpenServiceA([in] handle_t BindingHandle,\r
+  /* Function 16 */\r
+  SC_HANDLE ScmrOpenServiceW([in] handle_t BindingHandle,\r
                              [in] SC_HANDLE hSCManager,\r
-                             [in, string] LPCSTR lpServiceName,\r
+                             [in, string] LPCWSTR lpServiceName,\r
                              [in] DWORD dwDesiredAccess,\r
                              [out] SC_HANDLE *hScm);\r
 \r
-  SC_HANDLE ScmrOpenServiceW([in] handle_t BindingHandle,\r
+\r
+  /* Function 27 */\r
+  DWORD ScmrOpenSCManagerA([in] handle_t BindingHandle,\r
+                           [in, string, unique] LPCSTR lpMachineName,\r
+                           [in, string, unique] LPCSTR lpDatabaseName,\r
+                           [in] DWORD dwDesiredAccess,\r
+                           [out] SC_HANDLE *hScm);\r
+\r
+  /* Function 28 */\r
+  SC_HANDLE ScmrOpenServiceA([in] handle_t BindingHandle,\r
                              [in] SC_HANDLE hSCManager,\r
-                             [in, string] LPCWSTR lpServiceName,\r
+                             [in, string] LPCSTR lpServiceName,\r
                              [in] DWORD dwDesiredAccess,\r
                              [out] SC_HANDLE *hScm);\r
 }\r