|
Программирование >> Автоматически обновляемые приложения
catch (Exception) { /* Обработка ошибки } finally { Освобождаем вьщеленную память if (pInfo != IntPtr.Zero) NetApiBufferFree(pInfo); return (srvs); Получить список доменов public static ArrayList GetDomenList() SERVER INFO 101 si; IntPtr pinfo = IntPtr.Zero; int etriesread = 0; int totalentries = 0; ArrayList srvs = new ArrayList(); NERR err = NetServerEnum (null, 101, out pinfo, -1, ref etriesread, ref totalentries, SV 101 TYPES.SV TYPE DOMAIN ENUM, null, 0); if ((err == NERR.NERR Success err == NERR.ERROR MORE DATA) && pinfo != IntPtr. int ptr = pinfo.ToInt32 0 ; for (int i = 0; i < etriesread; i++) si = (SERVER INFO 101)Marshal.PtrToStructure( new IntPtr(ptr), typeof(SERVER INFO 101)); srvs.Add(si.svl01 name); Добавляем имя сервера в список ptr += Marshal.SizeOf(si); catch (Exception) { Обработка ошибки } finally { Освобождаем вьщеленную память if (pInfo != IntPtr.Zero) NetApiBufferFree(pinfo); Получить список доменов public static ArrayList GetDomenList() SERVER INFO 101 si; IntPtr pInfo = IntPtr.Zero; int etriesread = 0; int totalentries = 0; ArrayList srvs = new ArrayList(); NERR err = NetServerEnum(null, 101, out pInfo, -1, ref etriesread, ref totalentries, SV 101 TYPES.SV TYPE DOMAIN ENUM, null, 0); if ((err == NERR.NERR Success I err == NERR.ERROR MORE DATA) && pInfo != IntPtr.Zero) int ptr = pInfo.ToInt320; for (int i = 0; i < etriesread; i++) si = (SERVER INFO 101)Marshal.PtrToStructure( new IntPtr(ptr), typeof(SERVER INFO 101)); srvs.Add(si.svl01 name); Добавляем имя сервера в список ptr += Marshal.SizeOf(si); catch (Exception) { обработка ошибки } finally { освобождаем вьщеленную память if (pInfo != IntPtr.Zero) NetApiBufferFree(pInfo); return (srvs); private void buttonl Click(object sender, EventArgs e) { listBoxl.Items.Clear(); ArrayList list = GetSQLServerList(); foreach (string name in list) Примечание Пример получения списка компьютеров в сети находится в папке ListCom-putersLAN на прилагаемом диске. listBoxl.Items.Add(name); private void button2 Click(object sender, EventArgs e) { listBoxl.Items.Clear(); ArrayList list = GetServerList(SV 101 TYPES.SV TYPE ALL) ; foreach (string name in list) listBoxl.Items.Add(name); private void button3 Click(object sender, EventArgs e) { listBoxl.Items.Clear(); ArrayList list = GetDomenControllerList(SV 101 TYPES.SV TYPE DOMAIN CTRL); foreach (string name in list) { listBoxl.Items.Add(name); private void button4 Click(object sender, EventArgs e) { listBoxl.Items.Clear(); ArrayList list = GetDomenList(); foreach (string name in list) { listBoxl.Items.Add(name);
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |