Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 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.
не понятно, почему функция не отрабатывает...