public static string GetUserDomain(int sessionId)
{
uint bytes = 0;
IntPtr userInfo = IntPtr.Zero;
bool result = SafeNativeMethods.WTSQuerySessionInformation(SafeNativeMethods.WTS_CURRENT_SERVER_HANDLE, sessionId, SafeNativeMethods.WTS_INFO_CLASS.WTSDomainName, out userInfo, out bytes);
if (!result)
{
LibraryLogging.Error("GetUserDomain({1}) WTSQuerySessionInformation WTSUserName Error:{0}", LastError(), sessionId);
}
string userName = Marshal.PtrToStringAnsi(userInfo);
SafeNativeMethods.WTSFreeMemory(userInfo);
return userName;
}