private static string GetSessionInfo(int sessionId, NativeMethods.WTS_INFO_CLASS type) { if (NativeMethods.WTSQuerySessionInformation( IntPtr.Zero, sessionId, type, out var buffer, out var size)) { if (size > 1) { var value = Marshal.PtrToStringAnsi(buffer); NativeMethods.WTSFreeMemory(buffer); return(value); } } return(string.Empty); }
public static extern bool WTSQuerySessionInformation( [In] IntPtr hServer, [In] int SessionId, [In] NativeMethods.WTS_INFO_CLASS WTSInfoClass, [Out] out IntPtr ppBuffer, [Out] out int BytesReturned);