Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2016, 20:37   #1
CrazyDron
 
Регистрация: 13.02.2016
Сообщений: 4
Вопрос Отслеживание статуса сетевого адаптера

Добрый день!

Хотелось бы узнать, бродкастятся ли какие-либо wm_сообщения при изменении статуса сетевого адаптера? В частности, линка, изменения IP-адреса (либо что-то ещё)?

Базовая задача: узнать о том, что произошло подключение/отключение к/от WiFi-сети (WinCE 6.0), для вывода соответствующего уведомления.

Вероятно (ещё не пробовал), узнать статус адаптера можно с помощью GetAdaptersInfo, но не хотелось бы выполнять постоянный опрос по таймеру.
CrazyDron вне форума Ответить с цитированием
Старый 13.02.2016, 23:09   #2
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

https://msdn.microsoft.com/en-us/library/ms882519.aspx

Впрочем, сама ОС эти изменения отображает в содержимом ключа 'Wi-Fi' ветки реестра 'HKEY_LOCAL_MACHINE\System\State\Ha rdware'.

Цитата:
постоянный опрос по таймеру
ничего криминального, таймер тот же поток. Опрашивайте в потоке, формируйте свое событие.
kutani вне форума Ответить с цитированием
Старый 13.02.2016, 23:39   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Какой таймер?
https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
waleri вне форума Ответить с цитированием
Старый 14.02.2016, 00:16   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

но если что это от висты и выше.
а то еще бывает народ на хрюше.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.02.2016, 00:54   #5
CrazyDron
 
Регистрация: 13.02.2016
Сообщений: 4
По умолчанию

Спасибо всем ответившим.
Пишу на Лазарусе, посмотрел юнит IP-Helper'а - а там всего две функции.

Завтра выковыряю дллку из прошивки устройства и посмотрю на наличие экспортируемой NotifyIpInterfaceChange.

UPD. Выковырял. Нету
Есть NotifyAddr и NotifyRoute. Попробую с Addr повозиться, хотя там и Overlapped структура требуется, а ей ещё и CreateEvent надо...

По реестру - данные адаптера в WinCE формируются в [HKLM\Comm\Имя_адаптера]. Для начала всё-таки попробую чтение реестра по таймеру, так значительно проще.
Или лучше GetAdaptersInfo использовать?

Последний раз редактировалось CrazyDron; 14.02.2016 в 01:13.
CrazyDron вне форума Ответить с цитированием
Старый 14.02.2016, 10:59   #6
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

GetAdaptersInfo - структура, а в чем вы ее будете читать и по какому событию - лично ваше дело.
kutani вне форума Ответить с цитированием
Старый 14.02.2016, 11:39   #7
CrazyDron
 
Регистрация: 13.02.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от kutani Посмотреть сообщение
GetAdaptersInfo - структура, а в чем вы ее будете читать и по какому событию - лично ваше дело.
Я имел в виду - по сравнению с чтением из реестра.
CrazyDron вне форума Ответить с цитированием
Старый 14.02.2016, 11:56   #8
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

...оно и там и там в конечном итоге отображается.
kutani вне форума Ответить с цитированием
Старый 14.02.2016, 12:07   #9
CrazyDron
 
Регистрация: 13.02.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от kutani Посмотреть сообщение
...оно и там и там в конечном итоге отображается.
Это понятно, но меня интересует также и скорость, и потребление ОЗУ (возможные утечки памяти при создании/освобождении объектов). Железка дохлая - в частности, ОЗУ - 128 Мб, и бОльшая его часть должна быть доступна под навипрограммы.

С реестром понятно - создал объект TRegistry и читаю, допустим, раз в 5 сек нужную ветку.

А вот насчёт объекта IP-Helper я не в курсе...
CrazyDron вне форума Ответить с цитированием
Старый 14.02.2016, 13:00   #10
kutani
Форумчанин
 
Регистрация: 23.01.2016
Сообщений: 608
По умолчанию

...утечки памяти зависят только от прямоты ваших рук, а за каллбэк на NotifyIpInterfaceChange() вам выше уже намекали.
kutani вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выставить метрику у сетевого адаптера Человек_Борща Общие вопросы Delphi 3 02.06.2013 14:44
Загрузка сетевого адаптера rakro C# (си шарп) 1 13.12.2012 12:49
изменение настроек сетевого адаптера. программное вкл. и выкл. Рустам Работа с сетью в Delphi 3 12.10.2012 10:23
Отключение и выключение Wi-Fi адаптера Light Alloy Win Api 1 09.10.2009 21:05