From bb31854f751fad649cfc61785cd09b004df6e4a2 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 5 Jun 2020 14:17:25 -0700 Subject: [PATCH] More ACL support --- BeefLibs/corlib/src/Windows.bf | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/BeefLibs/corlib/src/Windows.bf b/BeefLibs/corlib/src/Windows.bf index d01280fb..926750fa 100644 --- a/BeefLibs/corlib/src/Windows.bf +++ b/BeefLibs/corlib/src/Windows.bf @@ -1159,6 +1159,37 @@ namespace System ACL* pSacl ); + [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)] + public static extern uint32 GetExplicitEntriesFromAclW( + ACL* pacl, + uint32* pcCountOfExplicitEntries, + EXPLICIT_ACCESS_W** pListOfExplicitEntries + ); + + [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)] + public static extern uint32 GetEffectiveRightsFromAclW( + ACL* pacl, + TRUSTEE_W* pTrustee, + uint32* pAccessRights + ); + + [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)] + public static extern IntBool LookupAccountSidW( + char16* lpSystemName, + SID* Sid, + char16* Name, + uint32* cchName, + char16* ReferencedDomainName, + uint32* cchReferencedDomainName, + int* peUse + ); + + [Import("advapi32.lib"), CLink, CallingConvention(.Stdcall)] + public static extern IntBool ConvertStringSidToSidW( + char16* StringSid, + SID** Sid + ); + [CLink, CallingConvention(.Stdcall)] public static extern void LocalFree(void* ptr);