//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.Configuration { using System.Collections; using System.Configuration; using System.Configuration.Internal; using System.Web; using System.Web.Util; using System.Security; using System.IO; using System.Web.Hosting; using System.Runtime.InteropServices; using System.Reflection; using System.Collections.Specialized; using System.Xml; using System.Security.Principal; using System.Threading; using System.Globalization; [StructLayout(LayoutKind.Sequential, Pack = 4, CharSet = CharSet.Unicode)] internal class COAUTHINFO : IDisposable { internal COAUTHINFO(RpcAuthent authent, RpcAuthor author, string serverprinc, RpcLevel level, RpcImpers impers, IntPtr ciptr) { authnsvc = authent; authzsvc = author; serverprincname = serverprinc; authnlevel = level; impersonationlevel = impers; authidentitydata = ciptr; } internal RpcAuthent authnsvc; internal RpcAuthor authzsvc; [MarshalAs(UnmanagedType.LPWStr)] internal string serverprincname; internal RpcLevel authnlevel; internal RpcImpers impersonationlevel; internal IntPtr authidentitydata; // COAUTHIDENTITY* internal int capabilities = 0; // EOAC_NONE void IDisposable.Dispose() { authidentitydata = IntPtr.Zero; GC.SuppressFinalize(this); } ~COAUTHINFO() { } } [StructLayout(LayoutKind.Sequential, Pack = 4, CharSet = CharSet.Unicode)] internal class COAUTHINFO_X64 : IDisposable { internal COAUTHINFO_X64(RpcAuthent authent, RpcAuthor author, string serverprinc, RpcLevel level, RpcImpers impers, IntPtr ciptr) { authnsvc = authent; authzsvc = author; serverprincname = serverprinc; authnlevel = level; impersonationlevel = impers; authidentitydata = ciptr; } internal RpcAuthent authnsvc; internal RpcAuthor authzsvc; [MarshalAs(UnmanagedType.LPWStr)] internal string serverprincname; internal RpcLevel authnlevel; internal RpcImpers impersonationlevel; internal IntPtr authidentitydata; // COAUTHIDENTITY* internal int capabilities = 0; // EOAC_NONE #pragma warning disable 0649 internal int padding; #pragma warning restore 0649 void IDisposable.Dispose() { authidentitydata = IntPtr.Zero; GC.SuppressFinalize(this); } ~COAUTHINFO_X64() { } } }