Подключение сетевого кабеля
От: Divineshadow  
Дата: 11.05.05 02:17
Оценка:
Здравствуйте.

Написал функцию, с помощью которой можно узнать подключен ли сетевой кабель:
bool    IsPluged(int  Index)
{
    MIB_IFROW            iface;
    ZeroMemory(&iface, sizeof(iface));
    iface.dwIndex = Index;
    DWORD   dwRet;

    dwRet = GetIfEntry(&iface);
    if(dwRet==NO_ERROR)
        {
        if(iface.dwOperStatus==MIB_IF_OPER_STATUS_NON_OPERATIONAL) return false;
        if(iface.dwOperStatus==MIB_IF_OPER_STATUS_OPERATIONAL) return true;

        }
    return false;
}

где Index значение полуенное при помощи GetAdaptersInfo.
Функция работает на большинстве машин, но на некоторых выдаёт iface.dwOperStatus равным MIB_IF_OPER_STATUS_UNREACHABLE. Причём не важно вставлен сетевой кабель или нет.
Подскажите что нужно доработать в этой функции, что бы достоверно определять подключение сетевого кабеля.
Может есть совершенно другой способ?..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.