Как обнаружить событие подключения и отключения datacard на win32? - PullRequest
0 голосов
/ 29 июня 2009

У меня есть карта данных, как только я вставляю карту данных, я получаю события, используя событие wm_device_change.

Но я также хочу получить событие, когда мои данные соединяются с внешним миром.

Я хочу сказать, что как только мы нажмем кнопку подключения / отключения карты данных, я хочу получить событие. Другими словами, я хочу знать, когда соединение установлено и отключено.

Карта данных - это карта данных Vodaphone, и я пытаюсь просмотреть с помощью этой карты данных. Каким бы ни был SDK, где-то ОС должна получить событие подключения и отключения от сети, есть ли способ получить доступ к тому событию, которое получает ОС. Как я вижу в уведомлении об изменениях соединения Vodaphone и LAN.

Карта данных - это устройство USB с SIM-картой, которое можно использовать для доступа в Интернет через GPRS.

Как я могу сделать это в программе Win32 C / C ++?

Ответы [ 2 ]

0 голосов
/ 29 июня 2009

Чтобы обнаружить изменение сети, вы можете использовать NotifyAddrChange(0,0); Поскольку это блокировка, вам понадобится поток. Функция потока может быть такой простой, как

while(true) {
  NotifyAddrChange(0,0);
  PostMessage(gHWnd, WM_APP,0,0);
}

Не беспокойтесь о задокументированном асинхронном поведении. Это просто не работает.

0 голосов
/ 29 июня 2009

Конечно, это будет зависеть от вашей SDK-карты или драйверов и от того, поддерживают ли они такое событие.

В противном случае я хотел бы предложить, чтобы при вызове методов «Соединение» или «Отключение» в SDK использовалось любое возвращаемое значение, указывающее suuccess или иное, для вызова собственного события.

Не зная, что это за карта данных и к чему она подключается, я не понимаю, как мы можем ответить на ваш вопрос более полно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...