Forward StartServiceA/W to services.exe
[reactos.git] / reactos / include / idl / svcctl.idl
index d270274..5003d61 100644 (file)
@@ -184,6 +184,13 @@ cpp_quote("#endif")
                                     [out] LPDWORD pcbBytesNeeded);\r
 \r
   /* Function 19 */\r
+  DWORD ScmrStartServiceW([in] handle_t BindingHandle,\r
+                          [in] SC_HANDLE hService,\r
+                          [in] DWORD dwNumServiceArgs,\r
+                          [in, size_is(cbBufSize)] LPBYTE lpServiceArgBuffer,\r
+                          [in] DWORD cbBufSize);\r
+\r
+  /* FIXME: This is the correct interface but WIDL doesn't support it yet! */\r
 //  DWORD ScmrStartServiceW([in] handle_t BindingHandle,\r
 //                          [in] SC_HANDLE hService,\r
 //                          [in] DWORD dwNumServiceArgs,\r
@@ -288,13 +295,20 @@ cpp_quote("#endif")
                                 [out] LPDWORD pcbBytesNeeded);\r
 \r
   /* Function 30 */\r
-//  DWORD ScmrQueryServiceLockStatusA([in] handle_t BindingHandle,\r
-//                                    [in] SC_HANDLE hSCManager,\r
-//                                    [out, unique, size_is(cbBufSize)] LPBYTE lpLockStatus,\r
-//                                    [in] DWORD cbBufSize,\r
-//                                    [out] LPDWORD pcbBytesNeeded);\r
+  DWORD ScmrQueryServiceLockStatusA([in] handle_t BindingHandle,\r
+                                    [in] SC_HANDLE hSCManager,\r
+                                    [out, unique, size_is(cbBufSize)] LPBYTE lpLockStatus,\r
+                                    [in] DWORD cbBufSize,\r
+                                    [out] LPDWORD pcbBytesNeeded);\r
 \r
   /* Function 31 */\r
+  DWORD ScmrStartServiceA([in] handle_t BindingHandle,\r
+                          [in] SC_HANDLE hService,\r
+                          [in] DWORD dwNumServiceArgs,\r
+                          [in, size_is(cbBufSize)] LPBYTE lpServiceArgBuffer,\r
+                          [in] DWORD cbBufSize);\r
+\r
+  /* FIXME: This is the correct interface but WIDL doesn't support it yet! */\r
 //  DWORD ScmrStartServiceA([in] handle_t BindingHandle,\r
 //                          [in] SC_HANDLE hService,\r
 //                          [in] DWORD dwNumServiceArgs,\r
@@ -314,20 +328,24 @@ cpp_quote("#endif")
                                [out, unique, size_is(*lpcchBuffer)] LPSTR lpServiceName,\r
                                [in, out, ref] LPDWORD lpcchBuffer);\r
 \r
-  /* Function 35 */\r
+  /* Function 34 */\r
   /* ScmrGetCurrentGroupStateW */\r
 \r
   /* Function 35 */\r
   /* ScmrEnumServiceGroupW */\r
 \r
   /* Function 36 */\r
-  /* ScmrChangeServiceConfig2A */\r
+//  DWORD ScmrChangeServiceConfig2A([in] handle_t BindingHandle,\r
+//                                  [in] SC_HANDLE hService,\r
+//                                  [in] DWORD dwInfoLevel,\r
+//                                  [in, size_is(dwInfoSize)] LPBYTE lpInfo,\r
+//                                  [in] DWORD dwInfoSize);\r
 \r
   /* Function 37 */\r
   DWORD ScmrChangeServiceConfig2W([in] handle_t BindingHandle,\r
                                   [in] SC_HANDLE hService,\r
                                   [in] DWORD dwInfoLevel,\r
-                                  [in, size_is(dwInfoSize)] unsigned char *lpInfo,\r
+                                  [in, size_is(dwInfoSize)] LPBYTE lpInfo,\r
                                   [in] DWORD dwInfoSize);\r
 \r
   /* Function 38 */\r