Программирование >>  Автоматически обновляемые приложения 

1 ... 146 147 148 [ 149 ] 150 151 152 ... 170


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);



1 ... 146 147 148 [ 149 ] 150 151 152 ... 170

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика