Files
NSspi/SecPkgInfo.cs

76 lines
1.4 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace NSspi
{
[StructLayout( LayoutKind.Sequential )]
public class SecPkgInfo
{
public SecPkgCapability Capabilities;
public short Version;
public short RpcId;
public int MaxTokenLength;
[MarshalAs( UnmanagedType.LPWStr )]
public string Name;
[MarshalAs( UnmanagedType.LPWStr )]
public string Comment;
}
[Flags]
public enum SecPkgCapability : uint
{
Integrity = 0x1,
Privacy = 0x2,
TokenOnly = 0x4,
Datagram = 0x8,
Connection = 0x10,
MultiLeg = 0x20,
ClientOnly = 0x40,
ExtendedError = 0x80,
Impersonation = 0x100,
AcceptWin32Name = 0x200,
Stream = 0x400,
Negotiable = 0x800,
GssCompatible = 0x1000,
Logon = 0x2000,
AsciiBuffers = 0x4000,
Fragment = 0x8000,
MutualAuth = 0x10000,
Delegation = 0x20000,
ReadOnlyChecksum = 0x40000,
RestrictedTokens = 0x80000,
ExtendsNego = 0x00100000,
Negotiable2 = 0x00200000,
}
}