using System; using System.Runtime.InteropServices; namespace Asb.Base.V2; internal static class NativeMethods { public enum WTS_INFO_CLASS { WTSSessionId = 4, WTSClientName = 10 } public static readonly IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero; public const int WTS_CURRENT_SESSION = -1; [DllImport("Wtsapi32.dll", CharSet = CharSet.Auto)] public static extern bool WTSQuerySessionInformation(IntPtr hServer, int sessionId, WTS_INFO_CLASS wtsInfoClass, out IntPtr ppBuffer, out int pBytesReturned); [DllImport("wtsapi32.dll", ExactSpelling = true)] public static extern void WTSFreeMemory(IntPtr memory); }