AccessCheck (advapi32)
Last changed: -91.119.3.204

.
Summary
aaaThe AccessCheck function determines whether a security descriptor grants a specified set of access rights to the client identified by an access token. Typically, server applications use this function to check access to a private object.

C# Signature:

  [DllImport("advapi32", SetLastError=true)]
  static extern bool AccessCheck(
    [MarshalAs(UnmanagedType.LPArray)]
    byte [] pSecurityDescriptor,
    IntPtr ClientToken,
    uint DesiredAccess,
    [In] ref GENERIC_MAPPING GenericMapping,
    IntPtr PrivilegeSet,
    ref uint PrivilegeSetLength,
    out uint GrantedAccess,
    out bool AccessStatus);

VB Signature:

  ' Declare Function AccessCheck Lib "advapi32.dll" (TODO) As TODO

  <DllImport("advapi32", SetLastError:=True)> _
  Declare Function Function AccessCheck( _
    ByVal pSecurityDescriptor As IntPtr, _
    ByVal ClientToken As IntPtr, _
    ByVal DesiredAccess As Integer, _
    ByRef GenericMapping As GENERIC_MAPPING, _
    ByRef PrivilegeSet As IntPtr, _
    ByRef PrivilegeSetLength As Integer, _
    <Out()> ByRef GrantedAccess As Integer, _
    <Out()> ByRef AccessStatus As Boolean) As Boolean
  End Function

User-Defined Types:

GENERIC_MAPPING

VB Signature:

  Private Structure GENERIC_MAPPING
    Dim GenericRead As Integer 'UInt32
    Dim GenericWrite As Integer 'UInt32
    Dim GenericExecute As Integer 'UInt32
    Dim GenericAll As Integer 'UInt32
  End Structure

PRIVILEGE_SET

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Please add some!

Documentation
AccessCheck on MSDN