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
23 LPVOID pAclInformation,
24 DWORD nAclInformationLength,
25 ACL_INFORMATION_CLASS dwAclInformationClass
30 Status = RtlQueryInformationAcl (pAcl,
32 nAclInformationLength,
33 dwAclInformationClass);
34 if (!NT_SUCCESS(Status))
36 SetLastError (RtlNtStatusToDosError (Status));
47 GetAuditedPermissionsFromAclA (
49 IN PTRUSTEE_A pTrustee,
50 OUT PACCESS_MASK pSuccessfulAuditedRights,
51 OUT PACCESS_MASK pFailedAuditRights
54 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
61 GetAuditedPermissionsFromAclW (
63 IN PTRUSTEE_W pTrustee,
64 OUT PACCESS_MASK pSuccessfulAuditedRights,
65 OUT PACCESS_MASK pFailedAuditRights
68 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
75 GetEffectiveRightsFromAclA (
77 IN PTRUSTEE_A pTrustee,
78 OUT PACCESS_MASK pAccessRights
81 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
88 GetEffectiveRightsFromAclW (
90 IN PTRUSTEE_W pTrustee,
91 OUT PACCESS_MASK pAccessRights
94 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
101 GetExplicitEntriesFromAclA (
103 OUT PULONG pcCountOfExplicitEntries,
104 OUT PEXPLICIT_ACCESS_A * pListOfExplicitEntries
107 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
114 GetExplicitEntriesFromAclW (
116 OUT PULONG pcCountOfExplicitEntries,
117 OUT PEXPLICIT_ACCESS_W * pListOfExplicitEntries
120 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
139 Status = RtlCreateAcl (pAcl,
142 if (!NT_SUCCESS(Status))
144 SetLastError (RtlNtStatusToDosError (Status));
161 return RtlValidAcl (pAcl);
172 LPVOID pAclInformation,
173 DWORD nAclInformationLength,
174 ACL_INFORMATION_CLASS dwAclInformationClass
179 Status = RtlSetInformationAcl (pAcl,
181 nAclInformationLength,
182 dwAclInformationClass);
183 if (!NT_SUCCESS(Status))
185 SetLastError (RtlNtStatusToDosError (Status));
197 IN ULONG cCountOfExplicitEntries,
198 IN PEXPLICIT_ACCESS_A pListOfExplicitEntries,
203 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
211 IN ULONG cCountOfExplicitEntries,
212 IN PEXPLICIT_ACCESS_W pListOfExplicitEntries,
217 SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
231 AddAccessAllowedAce (
240 Status = RtlAddAccessAllowedAce (pAcl,
244 if (!NT_SUCCESS(Status))
246 SetLastError (RtlNtStatusToDosError (Status));
268 Status = RtlAddAccessDeniedAce (pAcl,
272 if (!NT_SUCCESS(Status))
274 SetLastError (RtlNtStatusToDosError (Status));
290 DWORD dwStartingAceIndex,
297 Status = RtlAddAce (pAcl,
302 if (!NT_SUCCESS(Status))
304 SetLastError (RtlNtStatusToDosError (Status));
322 WINBOOL bAuditSuccess,
323 WINBOOL bAuditFailure
328 Status = RtlAddAuditAccessAce (pAcl,
334 if (!NT_SUCCESS(Status))
336 SetLastError (RtlNtStatusToDosError (Status));
356 Status = RtlDeleteAce (pAcl,
358 if (!NT_SUCCESS(Status))
360 SetLastError (RtlNtStatusToDosError (Status));
378 return RtlFirstFreeAce (pAcl,
396 Status = RtlGetAce (pAcl,
399 if (!NT_SUCCESS(Status))
401 SetLastError (RtlNtStatusToDosError (Status));