@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: WTSEnumerateServers - Enumerate all Terminal Servers in a given Domain. !!!!C# Signature: [DllImport("wtsapi32.dll", SetLastError=true)] public static extern bool WTSEnumerateServers( String pDomainName, int Reserved, int Version, ref IntPtr ppServerInfo, ref uint pCount ); !!!!VB Signature: Declare Function WTSEnumerateServers Lib "wtsapi32.dll" (TODO) As TODO !!!!User-Defined Types: None. !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: There is so few documents on using WTSEnumerateServers, and even fewer using it from managed code. !!!!Tips & Tricks: Please add some! !!!!Sample Code: [DllImport("wtsapi32.dll", SetLastError=true)] public static extern bool WTSEnumerateServers( String pDomainName, int Reserved, int Version, ref IntPtr ppServerInfo, ref uint pCount ); [DllImport("wtsapi32.dll")] static extern void WTSFreeMemory(IntPtr pMemory); [StructLayout(LayoutKind.Sequential)] public struct WTS_SERVER_INFO { [MarshalAs(UnmanagedType.LPStr)]public String pServerName; } static void Main(string[] args) { IntPtr pInfo = IntPtr.Zero; uint count = 0; Int32 dataSize = Marshal.SizeOf(typeof(WTS_SERVER_INFO)); if (WTSEnumerateServers(null, 0, 1, ref pInfo, ref count)) { Int64 current = (int)pInfo; for (int i = 0; i < count; i++) { WTS_SERVER_INFO WTScsi = (WTS_SERVER_INFO)Marshal.PtrToStructure((IntPtr)current, typeof(WTS_SERVER_INFO)); current += dataSize; String sname = WTScsi.pServerName; Console.WriteLine(sname); } WTSFreeMemory(pInfo); } Console.ReadLine(); } Documentation: WTSEnumerateServers@msdn on MSDN
Edit wtsapi32.WTSEnume...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.