Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AddIPAddress(), не получается добавить адрес 
:(
    Опции темы
btrfly
  Дата 9.4.2008, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



Пытаюсь добавить новый адрес,ничего не получается,как и удалить.
Мои действия:
Код

    ULONG iContext,iInst;
    int iErr;
    DWORD iIndex;
    char sNewAddr[20],sNewMask[20];
    cin  >> iIndex;     //индекс адаптера
    cin  >> sNewAddr;    //IP
    cin  >> sNewMask;   //маска
    iErr=AddIPAddress(inet_addr(sNewAddr),inet_addr(sNewMask),iIndex,&iContext,&iInst);//собственно попытка добавить

индекс адаптера 131075
далее вожу айпи,например 78.37.231.49
маска - 255.255.255.255
функция возвращает ERROR_INVALID_PARAMETER
сижу уже не первый день ломаю голову,какой тут параметр не понравился?
Ну вот,вроде все сказал.
 smile 
PM MAIL   Вверх
korian
Дата 9.4.2008, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: нет
Всего: 17



ERROR_INVALID_PARAMETER
 One or more of the parameters is invalid. This error is returned if the NTEContext or NTEInstance parameters are NULL. This error is also returned when the IP address specified in the Address parameter is inconsistent with the interface index specified in the IfIndex parameter (for example, a loopback address on a non-loopback interface).

если я правильно это понял, то в вашем случае non-loopback interface и маска не может быть 255.255.255.255.

PM   Вверх
btrfly
Дата 9.4.2008, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



мсдн я посещаю чаще всего;)
for example, a loopback address on a non-loopback interface
только вот что это означает,я так и не смог понять((

Цитата(korian @  9.4.2008,  01:36 Найти цитируемый пост)
маска не может быть 255.255.255.255.

 smile 
а какая она может быть?
Когда юзаю GetAdaptersInfo()
мне возвращается такое значение
PM MAIL   Вверх
korian
Дата 9.4.2008, 03:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: нет
Всего: 17



255.255.255.255 - это loopback, т.к. в такой сети один компьютер.

Цитата(btrfly @  9.4.2008,  00:47 Найти цитируемый пост)
а какая она может быть?

любой, начиная с 0.0.0.0 и устанавливая по единички со старшего бита, т.е. вариантов всего 32.
поидее, интерфейс может вообще не позволять добавлять IP адреса...
если маска, например, 255.255.255.0 не прокатит, то имху вообще нельзя...
а так, самый простой вариант проверить почему не добавляется - попробывать добавить такой адрес руками через гуи =) там все и расскажут, почему да что не так.

Это сообщение отредактировал(а) korian - 9.4.2008, 03:12
PM   Вверх
btrfly
Дата 9.4.2008, 03:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



Цитата(korian @  9.4.2008,  03:05 Найти цитируемый пост)
устанавливая по единички со старшего бита, т.е. вариантов всего 32.

извиняюсь за тупость,но ниче не понял))
PM MAIL   Вверх
korian
Дата 9.4.2008, 03:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: нет
Всего: 17



Цитата(btrfly @  9.4.2008,  00:47 Найти цитируемый пост)
Когда юзаю GetAdaptersInfo()

шо-то я маски в структуре IP_ADAPTER_INFO вообще не нашел.

Добавлено @ 03:18
Цитата(btrfly @  9.4.2008,  02:15 Найти цитируемый пост)
извиняюсь за тупость,но ниче не понял)) 

та тут скорее за разьяснения надо извиняться  smile 

в бинарном виде это будет выглядеть так:
вариант 1)00000000.00000000.00000000.00000000
2)10000000.00000000.00000000.00000000
3)11000000.00000000.00000000.00000000
4)11100000.00000000.00000000.00000000
...
32)11111111.11111111.11111111.11111111 



Это сообщение отредактировал(а) korian - 9.4.2008, 03:22
PM   Вверх
btrfly
Дата 9.4.2008, 03:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



Цитата(korian @  9.4.2008,  03:16 Найти цитируемый пост)
шо-то я маски в структуре IP_ADAPTER_INFO вообще не нашел.

в структуре IP_ADDR_STRING

Цитата(korian @  9.4.2008,  03:16 Найти цитируемый пост)
32)11111111.11111111.11111111.11111111 

говорили что не может быть 255.255.255.255
а это что тогда?)
PM MAIL   Вверх
korian
Дата 9.4.2008, 04:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: нет
Всего: 17



я всего лишь говорил, что добавлять IP адрес с маской 255.255.255.255 в интерфейс, который "non-loopback interface" - нельзя, т.к. такая маска подразумивает loopback.

если я правильно понял, то ваш интерфейс - это P2P интерфейс, и вроде в него нельзя добавлять адреса (покрайней мере гуи такой возможности не предоставляет для P2P, в отличае от того же etherneta)
и добавлять адреса с маской 255.255.255.255 кроме как в интерфейс
0x1 ........................... MS TCP Loopback interface
вообще поидее нету смысла.

Это сообщение отредактировал(а) korian - 9.4.2008, 04:43
PM   Вверх
btrfly
Дата 9.4.2008, 04:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



Цитата(korian @  9.4.2008,  04:26 Найти цитируемый пост)
это P2P интерфейс

это че за зверь такой? smile 

PM MAIL   Вверх
btrfly
Дата 9.4.2008, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 6.4.2008

Репутация: нет
Всего: нет



Все получилось добавить адрес,
все было из-за маски 
поставил 255.255.255.240 все добавилось,
только один фиг не понятно почему там не работало,а так работает smile 

Следующая проблема,теперь не могу удалить адрес smile 

Код

char Context[20];
cin >> Context;
DeleteIPAddress((ULONG)Context);


щас посмотрю какую ошибку возвращает

Это сообщение отредактировал(а) btrfly - 9.4.2008, 16:11
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.1012 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.