Как программно удалить соединение Windows Mobile GPRS? - PullRequest
2 голосов
/ 04 июня 2010

Есть ли способ явно закрыть соединение GPRS?
Я устанавливаю соединение с ConnectionManager и установил время кеширования на 10 секунд. В любом случае, после его освобождения соединение все еще включено, увы, я не могу использовать ключ реестра gprs_by_if_device_off. Я использую простой C ++.

Моя идея состоит в том, чтобы смоделировать действие кнопки Windows "отключить соединение для передачи данных", но я действительно не могу понять, что она делает под занавесом.

Ответы [ 3 ]

2 голосов
/ 28 февраля 2011

Вам необходимо разорвать соединение удаленного доступа, используя RasHangUp с дескриптором, который вы получили от RasEnumConnections.

PS знаю, что этот ответ немного запоздал, но надеюсь, он кому-нибудь поможет! ;)

RasHangUp http://msdn.microsoft.com/en-us/library/ms897108.aspx, RasEnumConnections http://msdn.microsoft.com/en-us/library/ms897095.aspx

0 голосов
/ 30 декабря 2010

Я верю в это, но не так, как вы, вероятно, надеетесь. Посмотрите на функции SetDevicePower, PowerPolicyNotify и SetPowerRequirement из CoreDLL.

Изменяя значение мощности для RIL (уровня радиоинтерфейса), вы можете «выключить» радиоприемник, но при этом поддерживать другие части системы на частичном уровне или на полной мощности.

Я на самом деле поступаю наоборот в нескольких своих программах ... Мне нужно, чтобы RIL оставался включенным (чтобы я мог управлять внутренними соединениями с сервером), даже если трубка хочет перейти в спящий режим (вам также необходимо используйте для этого функцию PowerPolicyNotify. Именно это делает Microsoft, что позволяет вашей трубке получать электронные письма, даже если устройство находится в спящем режиме - то же самое. Вы просто идете в другом направлении - вместо этого отключаете питание .

0 голосов
/ 07 июня 2010

Вы смотрели @ ConnMgrReleaseConnection?

http://msdn.microsoft.com/en-us/library/bb416503.aspx

...