public string GetInformationString(WtsInformationClass infoClass)
        {
            IntPtr data;
            int    length;

            if (!Win32.WTSQuerySessionInformation(_serverHandle, _sessionId, infoClass, out data, out length))
            {
                Win32.ThrowLastError();
            }

            if (data == IntPtr.Zero)
            {
                return(null);
            }

            using (new WtsMemoryAlloc(data))
                return(Marshal.PtrToStringUni(data));
        }
        public string GetInformationString(WtsInformationClass infoClass)
        {
            IntPtr data;
            int length;

            if (!Win32.WTSQuerySessionInformation(_serverHandle, _sessionId, infoClass, out data, out length))
                Win32.Throw();

            if (data == IntPtr.Zero)
                return null;

            using (new WtsMemoryAlloc(data))
                return Marshal.PtrToStringUni(data);
        }