Erich Hoover : advapi32: Support service objects in SetSecurityInfo.

Alexandre Julliard julliard at winehq.org
Wed Jan 30 13:43:22 CST 2013


Module: wine
Branch: master
Commit: e4717c299efa4f7e281de9eb8782b632b5539df1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e4717c299efa4f7e281de9eb8782b632b5539df1

Author: Erich Hoover <ehoover at mines.edu>
Date:   Fri Jan 18 10:58:48 2013 -0700

advapi32: Support service objects in SetSecurityInfo.

---

 dlls/advapi32/security.c |   11 ++++++++++-
 dlls/advapi32/service.c  |    3 +++
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 6da7331..fac6f39 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -5680,7 +5680,16 @@ DWORD WINAPI SetSecurityInfo(HANDLE handle, SE_OBJECT_TYPE ObjectType,
     if (SecurityInfo & SACL_SECURITY_INFORMATION)
         SetSecurityDescriptorSacl(&sd, TRUE, pSacl, FALSE);
 
-    status = NtSetSecurityObject(handle, SecurityInfo, &sd);
+    switch (ObjectType)
+    {
+    case SE_SERVICE:
+        FIXME("stub: Service objects are not supported at this time.\n");
+        status = STATUS_SUCCESS; /* Implement SetServiceObjectSecurity */
+        break;
+    default:
+        status = NtSetSecurityObject(handle, SecurityInfo, &sd);
+        break;
+    }
     return RtlNtStatusToDosError(status);
 }
 
diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index fc98880..9a952e1 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -2196,6 +2196,9 @@ BOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE hService,
 
 /******************************************************************************
  * SetServiceObjectSecurity [ADVAPI32.@]
+ *
+ * NOTES
+ *  - SetSecurityInfo should be updated to call this function once it's implemented.
  */
 BOOL WINAPI SetServiceObjectSecurity(SC_HANDLE hService,
        SECURITY_INFORMATION dwSecurityInformation,




More information about the wine-cvs mailing list