using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Interop.LmxProxy; [ComImport] [Guid("92FF7FD3-A65F-431C-86AA-7BB502FF0D2C")] [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IUserAuthenticator { [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] ISecurityToken LogIn([In][MarshalAs(UnmanagedType.LPWStr)] string galaxyNodeName, [In][MarshalAs(UnmanagedType.LPWStr)] string galaxyName, [In][MarshalAs(UnmanagedType.LPWStr)] string UserName, [In][MarshalAs(UnmanagedType.LPWStr)] string userPassword, [In][MarshalAs(UnmanagedType.LPWStr)] string newPassword, [In][MarshalAs(UnmanagedType.LPWStr)] string newPasswordA, out ELOGIN eLoginFlag, [MarshalAs(UnmanagedType.BStr)] out string bstrReason); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void GetAuthenticationMode([In][MarshalAs(UnmanagedType.LPWStr)] string galaxyNodeName, out EAUTHMODE eAuthenticationMode); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] void IsSecurityEnabled([In][MarshalAs(UnmanagedType.LPWStr)] string galaxyNodeName, out bool bEnable); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] ISecurityToken UserLogIn([In][MarshalAs(UnmanagedType.LPWStr)] string UserName, [In] Guid callerID); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.BStr)] string GetUserName([In] ref VBGUID userGuid); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] bool IsLoginRequired([In][MarshalAs(UnmanagedType.LPWStr)] string galaxyNodeName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] VBGUID GetUserId([In][MarshalAs(UnmanagedType.LPWStr)] string UserName); [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] [return: MarshalAs(UnmanagedType.Interface)] ISecurityToken ChangeLogIn([In][MarshalAs(UnmanagedType.LPWStr)] string galaxyNodeName, [In][MarshalAs(UnmanagedType.LPWStr)] string galaxyName, [In][MarshalAs(UnmanagedType.LPWStr)] string UserName, [In][MarshalAs(UnmanagedType.LPWStr)] string userPassword, [In][MarshalAs(UnmanagedType.LPWStr)] string newPassword, [In][MarshalAs(UnmanagedType.LPWStr)] string newPasswordA, out ELOGIN eLoginFlag, [MarshalAs(UnmanagedType.BStr)] out string bstrReason); }