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

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


BSKLAD CAB

DIRECTION

DISPET03

DISPET1

ELECTRO

F07-ADMIN F14

F14-ADtvJIN F22

F22-ADMIN F2G

F26-ADMIN

GLAVINGENER K0NF-ZAL2

SQLServer

Bee компьютеры

Контроллер AorvieHa

florvieHbi

Рис. 16.2. Список всех компьютеров в сети

Список SQL-серверов

при помощи управляемого кода

в предыдущем примере, чтобы получить список SQL-серверов, мы использовали неуправляемый код. Но существует еще один альтернативный вариант с использованием встроенных классов .NET Framework (листинг 16.21).

\ Листинг 16.21, Список SQL-cepBepoB в сети при помощи г управляемого кода

using System.Data.Sql; using System;

class Program {

static void Main() {

Получаем перечеслитель, a затем данные SqlDataSourceEnumerator instance =



private static void DisplayData(System.Data.DataTable table) {

foreach (System.Data.DataRow row in table.Rows) {

foreach (System.Data.DataColumn col in table.Columns) {

Console.WriteLine( {0} = (1} , col.ColumnName, row[col])<

Console.WriteLine ( =========================== ) ;

Этот пример консольного приложения описан в документации MSDN. Поэтому никогда не забывайте заглянуть в документацию в поисках решения своих проблем.

Примечание

Пример получения списка SQL-серверов находится в папке SQLEnum на прилагаемом диске.

Как получить дату и время удаленного компьютера?

Если вам необходимо получить дату и время на удаленном компьютере в сети, то воспользуйтесь вызовом функции Windows API NetRemoteTOD, как показано в листинге 16.22.

SqlDataSourceEnumerator.Instance; System.Data.DataTable table = instance.GetDataSources();

Отображаем содержимое таблицы DisplayData(table);

Console.WriteLine( Нажмите любую клавишу, чтобы продолжить ); Console.ReadKey();



Листинг 16.22. Получение даты и времени удаленного компьютера

using System.Runtime.InteropServices;

[Dlllmport( netapi32.dll , EntryPoint = NetRemoteTOD ,

SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true,

CallingConvention = CallingConvention.StdCall)]

private static extern int NetRemoteTOD(string UncServerName,

ref IntPtr BufferPtr);

[Dlllmport( netapi32.dll , EntryPoint = NetApiBufferFree )] public static extern NERR NetApiBufferFree(IntPtr Buffer);

[StructLayout(LayoutKind.Sequential)] private struct TIME 0F DAY INF0 {

public

tod elapsedt;

public

tod msecs;

public

tod hours;

public

tod mins;

public

tod secs;

public

tod hunds;

public

tod timezone;

public

tod tinterval;

public

tod day;

public

tod month;

public

tod year;

public

tod weekday;

список ошибок, возвраш;аемых NetServerEnum

public enum NERR

NERR Success =0, успех ERROR ACCESS DENIED = 5, ERR0R N0T EN0UGH MEM0RY = 8, ERROR BAD NETPATH =53, ERR0R NETW0RK BUSY =54, ERROR INVALID PARAMETER =87, ERROR INVALID LEVEL = 124, ERR0R M0RE DATA =234, ERROR EXTENDED ERROR = 1208,



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

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