список сетевых протоколов
От: Аноним  
Дата: 23.03.09 11:08
Оценка:
как в .net получить список установленных в системе сетевых протоколов:?
Re: список сетевых протоколов
От: TK Лес кывт.рф
Дата: 23.03.09 22:20
Оценка:
Здравствуйте, Аноним, Вы писали:

А>как в .net получить список установленных в системе сетевых протоколов:?


Что вы называете списоком установленных протоколов? Содержимое drivers/etc/protocol подойдет ?
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: список сетевых протоколов
От: Аноним  
Дата: 24.03.09 12:52
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, Аноним, Вы писали:


А>>как в .net получить список установленных в системе сетевых протоколов:?


TK>Что вы называете списоком установленных протоколов? Содержимое drivers/etc/protocol подойдет ?


в win api была такая функция EnumProtocols... вероятно она как раз с этим файликом и работала...
аналог в .net есть?
Re[3]: список сетевых протоколов
От: Аноним  
Дата: 24.03.09 12:59
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, TK, Вы писали:


TK>>Здравствуйте, Аноним, Вы писали:


А>>>как в .net получить список установленных в системе сетевых протоколов:?


TK>>Что вы называете списоком установленных протоколов? Содержимое drivers/etc/protocol подойдет ?


А>в win api была такая функция EnumProtocols... вероятно она как раз с этим файликом и работала...

А>аналог в .net есть?

не пойму в чем ошибка



    public struct ProtocolInfo
    {
        public int dwServiceFlags;
        public int iAddressFamily;
        public int iMaxSockAddr;
        public int iMinSockAddr;
        public int iSocketType;
        public int iProtocol;
        public int dwMessageSize;
        public string lpProtocol;

    }
    class NetExp
    {
        [DllImport("Wsock32.dll", EntryPoint = "EnumProtocolsW", SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true,
        CallingConvention = CallingConvention.StdCall)]
        public static extern int EnumProtocols(ref int lpiProtocols, out ProtocolInfo[] lpProtocolBuffer, ref int lpdwBufferLength);
        static public void task_three_syn()
        {
            ProtocolInfo[] infos = new ProtocolInfo[1000];
            int size = Marshal.SizeOf(typeof(ProtocolInfo))*infos.Length;
            int k = 0;
            int result = EnumProtocols(ref k, out infos, ref size);
        }
    }


когда вызываю в xp EnumProtocols(ref k, out infos, ref size), то result == 0 и infos == null, а size == 0.
не понятно, почему функция не отрабатывает...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.