Fix missed files. Svn problem?
[reactos.git] / reactos / include / idl / svcctl.idl
index de93e5e..bfdaa0f 100644 (file)
@@ -9,7 +9,9 @@
 #define BOOL unsigned long\r
 #define SC_HANDLE unsigned int\r
 #define SC_LOCK unsigned int\r
+#define LPSTR char*\r
 #define LPCSTR char*\r
+#define LPWSTR wchar_t*\r
 #define LPCWSTR wchar_t*\r
 #define LPDWORD unsigned long*\r
 \r
@@ -21,7 +23,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
@@ -32,17 +34,17 @@ cpp_quote("#if 0");
     DWORD dwCheckPoint;\r
     DWORD dwWaitHint;\r
   } SERVICE_STATUS, *LPSERVICE_STATUS;\r
-cpp_quote("#endif");\r
+cpp_quote("#endif")\r
 \r
   /* Function 0 */\r
   DWORD ScmrCloseServiceHandle([in] handle_t BindingHandle,\r
                                [in] SC_HANDLE hSCObject);\r
 \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
+  BOOL ScmrControlService([in] handle_t BindingHandle,\r
+                          [in] SC_HANDLE hService,\r
+                          [in] DWORD dwControl,\r
+                          [out] LPSERVICE_STATUS lpServiceStatus);\r
 \r
   /* Function 2 */\r
   DWORD ScmrDeleteService([in] handle_t BindingHandle,\r
@@ -54,16 +56,18 @@ cpp_quote("#endif");
                                 [out] SC_LOCK *hLock);\r
 \r
   /* Function 4 */\r
-//  DWORD ScmrQueryServiceObjectSecurity();\r
+  DWORD ScmrQueryServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
 \r
   /* Function 5 */\r
-//  DWORD ScmrSetServiceObjectSecurity();\r
+  DWORD ScmrSetServiceObjectSecurity([in] handle_t BindingHandle); /* FIXME */\r
 \r
   /* Function 6 */\r
-//  DWORD ScmrQueryServiceStatus();\r
+  DWORD ScmrQueryServiceStatus([in] handle_t BindingHandle,\r
+                               [in] SC_HANDLE hSCManager,\r
+                               [out] LPSERVICE_STATUS lpServiceStatus);\r
 \r
   /* Function 7 */\r
-//  DWORD ScmrSetServiceStatus();\r
+  DWORD ScmrSetServiceStatus([in] handle_t BindingHandle); /* FIXME */\r
 \r
   /* Function 8 */\r
   DWORD ScmrUnlockServiceDatabase([in] handle_t BindingHandle,\r
@@ -74,21 +78,40 @@ cpp_quote("#endif");
                                    [in] BOOL BootAcceptable);\r
 \r
 \r
+  /* Function 11 */\r
+  DWORD ScmrChangeServiceConfigW([in] handle_t BindingHandle,\r
+                                 [in] SC_HANDLE hSCManager,\r
+                                 [in] DWORD dwServiceType,\r
+                                 [in] DWORD dwStartType,\r
+                                 [in] DWORD dwErrorControl,\r
+                                 [in, string, unique] 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, ref] LPCWSTR lpDisplayName,\r
+                           [in, string, unique] LPCWSTR lpDisplayName,\r
                            [in] DWORD dwDesiredAccess,\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
-                           [out, unique] LPDWORD lpdwTagId,\r
-                           [in, string, unique] LPCWSTR lpDependencies,\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, string, unique] LPCWSTR lpPassword);\r
+                           [in, size_is(dwPasswordLength), unique] LPCWSTR lpPassword,\r
+                           [in] DWORD dwPasswordLength,\r
+                           [out] SC_HANDLE *hService);\r
 \r
 \r
   /* Function 15 */\r
@@ -106,6 +129,21 @@ cpp_quote("#endif");
                              [out] SC_HANDLE *hScm);\r
 \r
 \r
+  /* Function 20 */\r
+  DWORD ScmrGetServiceDisplayNameW([in] handle_t BindingHandle,\r
+                                   [in] SC_HANDLE hSCManager,\r
+                                   [in, string, ref] LPCWSTR lpServiceName,\r
+                                   [out, size_is(*lpcchBuffer), unique] LPWSTR lpDisplayName,\r
+                                   [in, out, ref] LPDWORD lpcchBuffer);\r
+\r
+  /* Function 21 */\r
+  DWORD ScmrGetServiceKeyNameW([in] handle_t BindingHandle,\r
+                               [in] SC_HANDLE hSCManager,\r
+                               [in, string, ref] LPCWSTR lpDisplayName,\r
+                               [out, size_is(*lpcchBuffer), unique] LPWSTR lpServiceName,\r
+                               [in, out, ref] LPDWORD lpcchBuffer);\r
+\r
+\r
   /* Function 27 */\r
   DWORD ScmrOpenSCManagerA([in] handle_t BindingHandle,\r
                            [in, string, unique] LPCSTR lpMachineName,\r
@@ -119,5 +157,4 @@ cpp_quote("#endif");
                              [in, string] LPCSTR lpServiceName,\r
                              [in] DWORD dwDesiredAccess,\r
                              [out] SC_HANDLE *hScm);\r
-\r
 }\r