Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26115
Рейтинг: 2126
#1: 2007-09-30 14:47:40 ЛС | профиль | цитата
Народ! У кого на компе есть несколько истинных ETHERNET сетевых карт, чтобы можно было проверить код на правильность перечисления?

[size=-2]------ Добавлено в 14:47
Я тут подумал и решил, все же, выложить на пробу. Пока все в IC, тк это -- отладочный режим. code_1955.txt
Код отличается от того, который выкладывал Вячеслав в качестве примочки, тк используется совершенно другая функция.
карма: 22

0
файлы: 1code_1955.txt [6.3KB] [612]
Ответов: 8923
Рейтинг: 823
#2: 2007-09-30 14:51:03 ЛС | профиль | цитата
nesco, у меня 3 шт: DFE-530TX подключаюсь к интернету; PRO/1000-MT внутри квартирная сеть (внучкин компьютер через ХАБ); IEEE-1394 для подключения видеокамеры.
карма: 19

0
Разработчик
Ответов: 26115
Рейтинг: 2126
#3: 2007-09-30 14:55:36 ЛС | профиль | цитата
Леонид, вот и попробуй, но IEEE-1394 не имеет тип ETHERNET, так что может и не видеться. Правильность перечисления должна быть для истинных ETHERNET адаптеров (PCI), установленных на локальном компьютере.
карма: 22

0
Ответов: 8923
Рейтинг: 823
#4: 2007-09-30 14:59:47 ЛС | профиль | цитата
nesco, ничего не произошло, таблица строк пустая
карма: 19

0
Ответов: 8923
Рейтинг: 823
#5: 2007-09-30 15:04:09 ЛС | профиль | цитата
nesco, Даже когда добавил в _hi_onEvent(onMAC,FMAC); не помогло, всё пусто
карма: 19

0
Разработчик
Ответов: 26115
Рейтинг: 2126
#6: 2007-09-30 15:31:14 ЛС | профиль | цитата
Леонид, у тебя карты в компе ETHERNET PCI, встроенные ETHERNET, или еще какие-то?

[size=-2]------ Добавлено в 15:16
Что это за звери такие DFE-530TX и PRO/1000-MT? И что показывает команда винды GetMac?

[size=-2]------ Добавлено в 15:22
Вот что у меня показывает

[size=-2]------ Добавлено в 15:31
tsdima, ты, вроде, в VB шаришь. Глянь вот этот код и подскажи что у меня не так. В ихнем коде, вроде, читаются любые устройства http://support.microsoft.com/kb/223025/de?spid=6519&sid=1137
карма: 22

0
файлы: 1MACIP_001.jpg [29.4KB] [533]
Ответов: 8923
Рейтинг: 823
#7: 2007-09-30 15:33:25 ЛС | профиль | цитата
nesco, кто их знает, что за звери, я ведь небольшой специалист и покупал их не по названиям, а по функциональности, что дали, то и взял
карма: 19

0
файлы: 1GetMac.png [13.5KB] [521]
Разработчик
Ответов: 26115
Рейтинг: 2126
#8: 2007-09-30 16:10:23 ЛС | профиль | цитата
Мдяяя... Подумаем дальше, может чего спецы подскажут, интересно ведь.
карма: 22

0
Ответов: 5446
Рейтинг: 323
#9: 2007-09-30 19:58:00 ЛС | профиль | цитата
nesco, опробовал твой код. У меня 4 сетевых адаптера в системе (LAN 10/100, WiFi, Bluetooth network, IEEE1394 Network). Твой код дал фигу. Первое предположение: функция GetAdaptersInfo вернула ошибку. Проверка:
   Size := Sizeof( IP_ADAPTER_INFO );
   L:= GetAdaptersInfo(@AdapterInfo, @Size);
_debug (L); //проверка
if L = NO_ERROR then begin

Запустил, действительно ошибка. Код 111 - ERROR_BUFFER_OVERFLOW.

MSDN писал(а):

ERROR_BUFFER_OVERFLOW

The buffer to receive the adapter information is too small. This value is returned if the buffer size indicated by the pOutBufLen parameter is too small to hold the adapter information or the pAdapterInfo parameter was a NULL pointer. When this error code is returned, the pOutBufLen parameter points to the required buffer size.


Копаю дальше. Ещё одна правка кода:
   Size := Sizeof( IP_ADAPTER_INFO );
   _debug (Size); //раз
L:= GetAdaptersInfo(@AdapterInfo, @Size);
_debug (Size); //два
if L = NO_ERROR then begin
Строка "раз" выдала "840", строка "два" - "1280".

Вывод: неправильный метод аллокации, не изучен пример в статье MSDN.
карма: 1

0
Разработчик
Ответов: 26115
Рейтинг: 2126
#10: 2007-09-30 20:50:54 ЛС | профиль | цитата
Ну вот доделал, и что толку -- IEEE1394 (второй адаптер) всеравно не видит (см code_1957.txt) Почему Next содержит nil, если в системе есть еще один адаптер?
карма: 22

0
Ответов: 5446
Рейтинг: 323
#11: 2007-09-30 21:14:38 ЛС | профиль | цитата
nesco, вот теперь работает. Но 1394 и у меня не видит, так что это скорее всего особенность этого API.
карма: 1

0
Разработчик
Ответов: 26115
Рейтинг: 2126
#12: 2007-09-30 21:18:55 ЛС | профиль | цитата
Немного исправил код (не обнулялся FMAC и лепила в хвост). Установил вторую сетевую плату -- увидела обе code_1957.txt

[size=-2]------ Добавлено в 21:18
iarspider, я прочитал, что LoopBack не читается этой функцией, а тип IEEE1394 определяется как LoopBack.
карма: 22

0
файлы: 1code_1957.txt [4.6KB] [567]
Ответов: 8923
Рейтинг: 823
#13: 2007-09-30 21:48:50 ЛС | профиль | цитата
nesco, ещё мост, создаваемый Windows для соединения сетевых карт не читает, нужно, наверное?
карма: 19

0
Разработчик
Ответов: 26115
Рейтинг: 2126
#14: 2007-09-30 23:01:13 ЛС | профиль | цитата
Леонид, это только для физических адаптеров. Для виртуальных адаптереов необходимо использовать NetBios. И еще вопрос, а разве у Виндовозовского моста есть MAC?

[size=-2]------ Добавлено в 23:01
Ну вот и компонент появился. Версия -- 1.00
карма: 22

0
файлы: 1MACIP_1_00.zip [2.9KB] [581]
Ответов: 3655
Рейтинг: 69
#15: 2007-10-01 00:48:58 ЛС | профиль | цитата
nesco, Да работает у меня нашёл все 4 сетевухи.(кроме конечно 1394)

[size=-2]------ Добавлено в 00:48
Да перед проверкой они все должны быть включены
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)