using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.LmxProxy; [ComImport] [Guid("189476D6-63C5-4950-B293-AEEE1A54D906")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface ISecurityToken { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetUserId([In][Out] ref VBGUID userId); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetUserName([In][Out][MarshalAs(UnmanagedType.BStr)] ref string bstrUserName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] bool QueryGroupMembership([In][MarshalAs(UnmanagedType.BStr)] string bstrGroupName, out int plStatus); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] int GetAccessToken(); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetUserFullName(); }