[ADVAPI32]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 12 Jun 2016 17:48:09 +0000 (17:48 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 12 Jun 2016 17:48:09 +0000 (17:48 +0000)
Implement I_ScGetCurrentGroupStateW.

svn path=/trunk/; revision=71626

reactos/dll/win32/advapi32/advapi32.spec
reactos/dll/win32/advapi32/service/scm.c

index 47b0f02..45556be 100644 (file)
@@ -1,4 +1,4 @@
-1 stub I_ScGetCurrentGroupStateW
+1 stdcall I_ScGetCurrentGroupStateW(ptr wstr ptr)
 2 stdcall A_SHAFinal(ptr ptr)
 3 stdcall A_SHAInit(ptr)
 4 stdcall A_SHAUpdate(ptr ptr long)
index dfa43cd..198eb98 100644 (file)
@@ -1674,6 +1674,42 @@ GetServiceKeyNameW(SC_HANDLE hSCManager,
 }
 
 
+/**********************************************************************
+ *  I_ScGetCurrentGroupStateW
+ *
+ * @implemented
+ */
+DWORD WINAPI
+I_ScGetCurrentGroupStateW(SC_HANDLE hSCManager,
+                          LPWSTR pszGroupName,
+                          LPDWORD pdwGroupState)
+{
+    DWORD dwError;
+
+    TRACE("I_ScGetCurrentGroupStateW() called\n");
+
+    RpcTryExcept
+    {
+        dwError = RI_ScGetCurrentGroupStateW((SC_RPC_HANDLE)hSCManager,
+                                             pszGroupName,
+                                             pdwGroupState);
+    }
+    RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+    {
+        dwError = ScmRpcStatusToWinError(RpcExceptionCode());
+    }
+    RpcEndExcept
+
+    if (dwError != ERROR_SUCCESS)
+    {
+        TRACE("RI_ScGetCurrentGroupStateW() failed (Error %lu)\n", dwError);
+        SetLastError(dwError);
+    }
+
+    return dwError;
+}
+
+
 /**********************************************************************
  *  LockServiceDatabase
  *