mirror of https://github.com/raandree/NTFSSecurity
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.2 KiB
83 lines
2.2 KiB
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Security2
|
|
{
|
|
internal partial class Win32
|
|
{
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
struct PINHERITED_FROM
|
|
{
|
|
public Int32 GenerationGap;
|
|
[MarshalAs(UnmanagedType.LPTStr)]
|
|
public string AncestorName;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
struct GENERIC_MAPPING
|
|
{
|
|
public uint GenericRead;
|
|
public uint GenericWrite;
|
|
public uint GenericExecute;
|
|
public uint GenericAll;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
|
struct AUTHZ_RPC_INIT_INFO_CLIENT
|
|
{
|
|
public AuthzRpcClientVersion version;
|
|
public string objectUuid;
|
|
public string protocol;
|
|
public string server;
|
|
public string endPoint;
|
|
public string options;
|
|
public string serverSpn;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
|
|
public struct LUID
|
|
{
|
|
public uint LowPart;
|
|
public uint HighPart;
|
|
|
|
public static LUID NullLuid
|
|
{
|
|
get
|
|
{
|
|
LUID Empty;
|
|
Empty.LowPart = 0;
|
|
Empty.HighPart = 0;
|
|
|
|
return Empty;
|
|
}
|
|
}
|
|
}
|
|
|
|
#region authz
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct AUTHZ_ACCESS_REQUEST
|
|
{
|
|
public StdAccess DesiredAccess;
|
|
public byte[] PrincipalSelfSid;
|
|
public IntPtr ObjectTypeList;
|
|
public int ObjectTypeListLength;
|
|
public IntPtr OptionalArguments;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential)]
|
|
internal struct AUTHZ_ACCESS_REPLY
|
|
{
|
|
public int ResultListLength;
|
|
public IntPtr GrantedAccessMask;
|
|
public IntPtr SaclEvaluationResults;
|
|
public IntPtr Error;
|
|
}
|
|
|
|
internal enum AuthzACFlags : uint // DWORD
|
|
{
|
|
None = 0,
|
|
NoDeepCopySD
|
|
}
|
|
#endregion
|
|
}
|
|
}
|