First shot at CreateServiceW. It crashes due to a bug (aka missing feature) in widl...
[reactos.git] / reactos / include / idl / svcctl.idl
index dee3a4c..24436ea 100644 (file)
@@ -54,16 +54,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
@@ -78,17 +80,20 @@ cpp_quote("#endif")
   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] 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