EXPLICIT_ACCESS (Structures)
Last changed: MSDN.WhiteKnight-46.22.2.65

.
Summary
Defines access control information for a specified trustee

C# Definition:

[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 0)] //Platform independent 32 & 64 bit - use Pack = 0 for both platforms. IntPtr can also be used.

    public struct EXPLICIT_ACCESS
    {
    UIntPtr grfAccessPermissions;
    UIntPtr grfAccessMode;
    UIntPtr grfInheritance;
    TRUSTEE Trustee;
    }

VB Definition:

    <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Auto, Pack:=4)> _
    Public Structure EXPLICIT_ACCESS
    Dim grfAccessPermissions As Integer
    Dim grfAccessMode As Integer
    Dim grfInheritance As Integer
    Dim Trustee As TRUSTEE
    End Structure

User-Defined Field Types:

TRUSTEE

Notes:

UIntPtr or IntPtr are needed because they change sizes according to platform. If you need to cast to / from, then must keep the size change in mind.

Pack=4 may work incorrectly (access violation) when used on 64-bit OS. Use '0' (works as per the platform)

Documentation