где Index значение полуенное при помощи GetAdaptersInfo.
Функция работает на большинстве машин, но на некоторых выдаёт iface.dwOperStatus равным MIB_IF_OPER_STATUS_UNREACHABLE. Причём не важно вставлен сетевой кабель или нет.
Подскажите что нужно доработать в этой функции, что бы достоверно определять подключение сетевого кабеля.
Может есть совершенно другой способ?..
Здравствуйте, Divineshadow, Вы писали:
D>Здравствуйте.
D>Написал функцию, с помощью которой можно узнать подключен ли сетевой кабель: D>где Index значение полуенное при помощи GetAdaptersInfo. D>Функция работает на большинстве машин, но на некоторых выдаёт iface.dwOperStatus равным MIB_IF_OPER_STATUS_UNREACHABLE. Причём не важно вставлен сетевой кабель или нет. D>Подскажите что нужно доработать в этой функции, что бы достоверно определять подключение сетевого кабеля. D>Может есть совершенно другой способ?..
попробуй через GetIpForwardTable. Ее нет если кабеля нет, если не путаю.
Какая вообще задача то стоит?
Надо попробывать сделать bind() сокету на IP адрес сетевого адаптера. Если кабель вытащен, то send()/recv()/connect()... выдаёт ошибку WSAENETDOWN или WSAETIMEDOUT ... а то может даже и bind() не сработает.