AddAce (advapi32)
Last changed: -192.180.154.40

.
Summary
The AddAce function adds one or more access control entries (ACEs) to a specified access control list (ACL).

C# Signature:

[DllImport("advapi32.dll", SetLastError = true)]
static extern bool AddAce(IntPtr pAcl, uint dwAceRevision, uint dwStartingAceIndex, IntPtr pAceList, uint nAceListLength);

Alternate
by Architect, more C++ish from disassembly not tested yet working on Win Clone the way Linux did Unix and made Linux

C# Signature:

/// <summary>

    /// The AddAce function adds one or more access control entries (ACEs) to a specified access control list (ACL).
    /// </summary>
    /// <param name="pAcl">A pointer to an ACL. This function adds an ACE to this ACL.</param>
    /// <param name="dwAceRevision">Specifies the revision level of the ACL being modified.</param>
    /// <param name="dwStartingAceIndex">Specifies the position in the ACL's list of ACEs at
    /// which to add new ACEs. A value of zero inserts the ACEs at the beginning of the
    /// list. A value of MAXDWORD appends the ACEs to the end of the list.</param>
    /// <param name="pAceList">A pointer to a list of one or more ACEs to be added
    /// to the specified ACL. The ACEs in the list must be stored contiguously.</param>
    /// <param name="nAceListLength">Specifies the size, in bytes, of the input buffer
    /// pointed to by the pAceList parameter.</param>
    /// <returns>If the function succeeds, the return value is nonzero.</returns>
    [System.Runtime.InteropServices.DllImport("advapi32.dll", SetLastError = true)]
    public static unsafe extern bool AddAce(
        ACL* pAcl,
        uint dwAceRevision,
        uint dwStartingAceIndex,
        [System.Runtime.InteropServices.MarshalAs(
        System.Runtime.InteropServices.UnmanagedType.FunctionPtr)]
        System.Collections.Generic.List<ACL> pAceList,
        uint nAceListLength);

VB.NET Signature:

<DllImport("advapi32.dll", SetLastError:=true)> _
Public Function AddAce(pAcl As IntPtr, _
            dwAceRevision As UInteger, _
            dwStartingAceIndex As UInteger, _
            pAceList As IntPtr, _
            nAceListLength As UInteger) As <MarshalAs(UnmanagedType.Bool)> Boolean
End Function

VB Signature

<DllImport("advapi32.dll", SetLastError:=true)> _
Public Declare Function AddAce Lib "advapi32.dll" _
    (pAcl As Long, _
     dwAceRevision As Long, _
     dwStartingAceIndex As Long _
     pAceList As Long, _
     nAceListLength As Long) As Boolean

User-Defined Types:

None.

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation
AddAce on MSDN