implemented GetExplicitEntriesFromAcl and forward it to the MARTA provider
Modified: trunk/reactos/lib/advapi32/advapi32.def
Modified: trunk/reactos/lib/advapi32/advapi32.h
Modified: trunk/reactos/lib/advapi32/sec/ac.c
Modified: trunk/reactos/lib/advapi32/sec/misc.c
Modified: trunk/reactos/lib/ntmarta/ntmarta.c
Modified: trunk/reactos/lib/ntmarta/ntmarta.def

Modified: trunk/reactos/lib/advapi32/advapi32.def
--- trunk/reactos/lib/advapi32/advapi32.def	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/advapi32/advapi32.def	2005-07-27 20:24:11 UTC (rev 16816)
@@ -242,8 +242,8 @@
 ;GetEffectiveRightsFromAclA@12
 ;GetEffectiveRightsFromAclW@12
 ;GetEventLogInformation
-;GetExplicitEntriesFromAclA@12
-;GetExplicitEntriesFromAclW@12
+GetExplicitEntriesFromAclA@12=ADVAPI32.GetExplicitEntriesFromAclW
+GetExplicitEntriesFromAclW@12
 GetFileSecurityA@20
 GetFileSecurityW@20
 ;GetInformationCodeAuthzLevelW

Modified: trunk/reactos/lib/advapi32/advapi32.h
--- trunk/reactos/lib/advapi32/advapi32.h	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/advapi32/advapi32.h	2005-07-27 20:24:11 UTC (rev 16816)
@@ -67,7 +67,10 @@
                                             PACL OldAcl,
                                             PACL* NewAcl);
 
-    PVOID RewriteGetExplicitEntriesFromAcl;
+    DWORD (STDCALL *RewriteGetExplicitEntriesFromAcl)(PACL pacl,
+                                                      PULONG pcCountOfExplicitEntries,
+                                                      PEXPLICIT_ACCESS_W* pListOfExplicitEntries);
+
     PVOID TreeResetNamedSecurityInfo;
 
     DWORD (STDCALL *GetInheritanceSource)(LPWSTR pObjectName,

Modified: trunk/reactos/lib/advapi32/sec/ac.c
--- trunk/reactos/lib/advapi32/sec/ac.c	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/advapi32/sec/ac.c	2005-07-27 20:24:11 UTC (rev 16816)
@@ -669,4 +669,30 @@
 }
 
 
+/*
+ * @implemented
+ */
+DWORD
+STDCALL
+GetExplicitEntriesFromAclW(
+	PACL			pacl,
+	PULONG			pcCountOfExplicitEntries,
+	PEXPLICIT_ACCESS_W*	pListOfExplicitEntries
+	)
+{
+    DWORD ErrorCode;
+
+    ErrorCode = CheckNtMartaPresent();
+    if (ErrorCode == ERROR_SUCCESS)
+    {
+        /* call the MARTA provider */
+        ErrorCode = AccRewriteGetExplicitEntriesFromAcl(pacl,
+                                                        pcCountOfExplicitEntries,
+                                                        pListOfExplicitEntries);
+    }
+
+    return ErrorCode;
+}
+
+
 /* EOF */

Modified: trunk/reactos/lib/advapi32/sec/misc.c
--- trunk/reactos/lib/advapi32/sec/misc.c	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/advapi32/sec/misc.c	2005-07-27 20:24:11 UTC (rev 16816)
@@ -59,8 +59,8 @@
     FindNtMartaProc(RewriteGetHandleRights);
     FindNtMartaProc(RewriteSetHandleRights);
     FindNtMartaProc(RewriteSetEntriesInAcl);
+    FindNtMartaProc(RewriteGetExplicitEntriesFromAcl);
 #if 0
-    FindNtMartaProc(RewriteGetExplicitEntriesFromAcl);
     FindNtMartaProc(TreeResetNamedSecurityInfo);
 #endif
     FindNtMartaProc(GetInheritanceSource);

Modified: trunk/reactos/lib/ntmarta/ntmarta.c
--- trunk/reactos/lib/ntmarta/ntmarta.c	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/ntmarta/ntmarta.c	2005-07-27 20:24:11 UTC (rev 16816)
@@ -158,6 +158,21 @@
 }
 
 
+/**********************************************************************
+ * AccRewriteGetExplicitEntriesFromAcl			EXPORTED
+ *
+ * @unimplemented
+ */
+DWORD STDCALL
+AccRewriteGetExplicitEntriesFromAcl(PACL pacl,
+                                    PULONG pcCountOfExplicitEntries,
+                                    PEXPLICIT_ACCESS_W* pListOfExplicitEntries)
+{
+    UNIMPLEMENTED;
+    return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+
 BOOL STDCALL
 DllMain(IN HINSTANCE hinstDLL,
         IN DWORD dwReason,

Modified: trunk/reactos/lib/ntmarta/ntmarta.def
--- trunk/reactos/lib/ntmarta/ntmarta.def	2005-07-27 20:09:46 UTC (rev 16815)
+++ trunk/reactos/lib/ntmarta/ntmarta.def	2005-07-27 20:24:11 UTC (rev 16816)
@@ -4,7 +4,7 @@
 AccFreeIndexArray@12
 AccGetInheritanceSource@40
 ;AccProvHandleGrantAccessRights;
-;AccRewriteGetExplicitEntriesFromAcl
+AccRewriteGetExplicitEntriesFromAcl@12
 AccRewriteGetHandleRights@32
 AccRewriteGetNamedRights@32
 AccRewriteSetEntriesInAcl@16