[NTOS:SE]
authorEric Kohl <eric.kohl@reactos.org>
Sun, 18 Jun 2017 21:43:09 +0000 (21:43 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 18 Jun 2017 21:43:09 +0000 (21:43 +0000)
Add the CmpAssignSecurityDescriptor() stub and improve some comments.

svn path=/trunk/; revision=75108

reactos/ntoskrnl/config/cmse.c

index 8e59776..780c887 100644 (file)
@@ -248,6 +248,15 @@ CmpSetSecurityDescriptor(IN PCM_KEY_CONTROL_BLOCK Kcb,
     return STATUS_SUCCESS;
 }
 
     return STATUS_SUCCESS;
 }
 
+NTSTATUS
+CmpAssignSecurityDescriptor(IN PCM_KEY_CONTROL_BLOCK Kcb,
+                            IN PSECURITY_DESCRIPTOR SecurityDescriptor)
+{
+    DPRINT("CmpAssignSecurityDescriptor(%p %p)\n",
+           Kcb, SecurityDescriptor);
+    return STATUS_SUCCESS;
+}
+
 NTSTATUS
 NTAPI
 CmpSecurityMethod(IN PVOID ObjectBody,
 NTSTATUS
 NTAPI
 CmpSecurityMethod(IN PVOID ObjectBody,
@@ -267,7 +276,7 @@ CmpSecurityMethod(IN PVOID ObjectBody,
 
     Kcb = ((PCM_KEY_BODY)ObjectBody)->KeyControlBlock;
 
 
     Kcb = ((PCM_KEY_BODY)ObjectBody)->KeyControlBlock;
 
-    /* Acquire hive lock */
+    /* Acquire the hive lock */
     CmpLockRegistry();
 
     /* Acquire the KCB lock */
     CmpLockRegistry();
 
     /* Acquire the KCB lock */
@@ -283,10 +292,10 @@ CmpSecurityMethod(IN PVOID ObjectBody,
     /* Don't touch deleted keys */
     if (Kcb->Delete)
     {
     /* Don't touch deleted keys */
     if (Kcb->Delete)
     {
-        /* Unlock the KCB */
+        /* Release the KCB lock */
         CmpReleaseKcbLock(Kcb);
 
         CmpReleaseKcbLock(Kcb);
 
-        /* Unlock the HIVE */
+        /* Release the hive lock */
         CmpUnlockRegistry();
         return STATUS_KEY_DELETED;
     }
         CmpUnlockRegistry();
         return STATUS_KEY_DELETED;
     }
@@ -318,17 +327,18 @@ CmpSecurityMethod(IN PVOID ObjectBody,
 
         case AssignSecurityDescriptor:
             DPRINT("Assign security descriptor\n");
 
         case AssignSecurityDescriptor:
             DPRINT("Assign security descriptor\n");
-            /* HACK */
+            Status = CmpAssignSecurityDescriptor(Kcb,
+                                                 SecurityDescriptor);
             break;
 
         default:
             KeBugCheckEx(SECURITY_SYSTEM, 0, STATUS_INVALID_PARAMETER, 0, 0);
     }
 
             break;
 
         default:
             KeBugCheckEx(SECURITY_SYSTEM, 0, STATUS_INVALID_PARAMETER, 0, 0);
     }
 
-    /* Unlock the KCB */
+    /* Release the KCB lock */
     CmpReleaseKcbLock(Kcb);
 
     CmpReleaseKcbLock(Kcb);
 
-    /* Unlock the hive */
+    /* Release the hive lock */
     CmpUnlockRegistry();
 
     return Status;
     CmpUnlockRegistry();
 
     return Status;