1 /* $Id: ac.c,v 1.11 2004/09/13 12:14:11 ekohl Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS system libraries
5 * FILE: lib/advapi32/sec/ac.c
6 * PURPOSE: ACL/ACE functions
21 LPVOID pAclInformation
,
22 DWORD nAclInformationLength
,
23 ACL_INFORMATION_CLASS dwAclInformationClass
28 Status
= RtlQueryInformationAcl (pAcl
,
30 nAclInformationLength
,
31 dwAclInformationClass
);
32 if (!NT_SUCCESS(Status
))
34 SetLastError (RtlNtStatusToDosError (Status
));
55 Status
= RtlCreateAcl (pAcl
,
58 if (!NT_SUCCESS(Status
))
60 SetLastError (RtlNtStatusToDosError (Status
));
77 return RtlValidAcl (pAcl
);
88 LPVOID pAclInformation
,
89 DWORD nAclInformationLength
,
90 ACL_INFORMATION_CLASS dwAclInformationClass
95 Status
= RtlSetInformationAcl (pAcl
,
97 nAclInformationLength
,
98 dwAclInformationClass
);
99 if (!NT_SUCCESS(Status
))
101 SetLastError (RtlNtStatusToDosError (Status
));
116 AddAccessAllowedAce (
125 Status
= RtlAddAccessAllowedAce (pAcl
,
129 if (!NT_SUCCESS(Status
))
131 SetLastError (RtlNtStatusToDosError (Status
));
143 AddAccessAllowedAceEx(PACL pAcl
,
151 Status
= RtlAddAccessAllowedAceEx(pAcl
,
156 if (!NT_SUCCESS(Status
))
158 SetLastError(RtlNtStatusToDosError(Status
));
180 Status
= RtlAddAccessDeniedAce (pAcl
,
184 if (!NT_SUCCESS(Status
))
186 SetLastError (RtlNtStatusToDosError (Status
));
198 AddAccessDeniedAceEx(PACL pAcl
,
206 Status
= RtlAddAccessDeniedAceEx(pAcl
,
211 if (!NT_SUCCESS(Status
))
213 SetLastError(RtlNtStatusToDosError(Status
));
229 DWORD dwStartingAceIndex
,
236 Status
= RtlAddAce (pAcl
,
241 if (!NT_SUCCESS(Status
))
243 SetLastError (RtlNtStatusToDosError (Status
));
267 Status
= RtlAddAuditAccessAce (pAcl
,
273 if (!NT_SUCCESS(Status
))
275 SetLastError (RtlNtStatusToDosError (Status
));
287 AddAuditAccessAceEx(PACL pAcl
,
297 Status
= RtlAddAuditAccessAceEx(pAcl
,
304 if (!NT_SUCCESS(Status
))
306 SetLastError(RtlNtStatusToDosError(Status
));
326 Status
= RtlDeleteAce (pAcl
,
328 if (!NT_SUCCESS(Status
))
330 SetLastError (RtlNtStatusToDosError (Status
));
348 return RtlFirstFreeAce (pAcl
,
366 Status
= RtlGetAce (pAcl
,
369 if (!NT_SUCCESS(Status
))
371 SetLastError (RtlNtStatusToDosError (Status
));