Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];

Вниз

RasEnumConnections   Найти похожие ветки 

 
StriderMan   (2008-12-26 16:25) [0]

Приветствую, коллеги!

Подключаю в свой проект возможность автоматического создания dialup-соединения. Обнаружил в процессе интересный эффект.

Допустим, создаем соединение при помощи
RasDial(...)

пока оно создается, снимаем задачу нашего приложения. смотрим в диспетчере соединений, у данного соединения статус "Подключение". Винда ничего не позволяет с ним сделать: ни отключить ни подключить. Пытаюсь найти его программно при помощи
RasEnumConnections(...)
- не нахожу, потому как видимо оно еще не подключено. Как быть? как найти и программно оживить или прибить такое соединение? Кто сталкивался?


 
StriderMan   (2008-12-26 16:42) [1]

UPD: если попытаться снова открыть это соединение при помощи RasDial, то получаем ошибку, что соединение уже установлено


 
StriderMan   (2008-12-26 18:24) [2]

UPD2: Собственно проблема свелась к тому, как получить хэндл такого зависшего соединения?
RasEnumConnections нам его не находит, RasDial возвращет ошибку и хэндл оставляет нулевым. Нашел драконовское решение: перебираем всевозможные хэндлы HR и говорим им RasHangUp(HR). Работает, но медленно :)


 
KilkennyCat ©   (2008-12-27 16:07) [3]

а разве при создании соединения у него нет имени?


 
KilkennyCat ©   (2008-12-27 16:10) [4]

то есть, разве нельзя использовать, как сказано в мсдн, rasdial "EAST OFFICE" /d ?


 
StriderMan   (2008-12-28 20:54) [5]

DWORD RasDial(
 LPRASDIALEXTENSIONS lpRasDialExtensions,
 LPCTSTR lpszPhonebook,
 LPRASDIALPARAMS lpRasDialParams,
 DWORD dwNotifierType,
 LPVOID lpvNotifier,
 LPHRASCONN lphRasConn
);


и куда тут передавать East Office? :)
Собственно, с установлением соединения проблем нет, есть проблема с зависшим соединением. Оно легко отрубается при помощи RasHangUp, но нужен Handle. А вот его взять негде.


 
KilkennyCat ©   (2008-12-28 22:43) [6]


> и куда тут передавать East Office? :)

судя по всему, lpszPhonebook


 
StriderMan   (2008-12-29 08:07) [7]

судя по всему, lpszPhonebook
еще раз:
с установлением соединения проблем нет, есть проблема с зависшим соединением


 
KilkennyCat ©   (2008-12-29 10:23) [8]

да я понял. Простро из справки, я так понял, что с какой фонебучной записью соединение создается, то с той и грохается. и это единственная привязка.


 
StriderMan   (2008-12-29 12:04) [9]


> KilkennyCat ©   (29.12.08 10:23) [8]
> да я понял. Простро из справки, я так понял, что с какой
> фонебучной записью соединение создается, то с той и грохается.
>  и это единственная привязка.

phonebook я не использую. Получаю сразу RASDIALPARAMS при помощи RasGetEntryDialParams по имени соединения



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2010.03.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.007 c
15-1261943761
Sneginka
2009-12-27 22:56
2010.03.14
Помогите выбрать книгу по delphi


2-1263155363
trxnet
2010-01-10 23:29
2010.03.14
Отправка данных через сокет


9-1184771159
@!!ex
2007-07-18 19:05
2010.03.14
Как сделать воду?


2-1263459826
Elephon
2010-01-14 12:03
2010.03.14
программно отркыть меню "Языки и службы текстового ввода"


15-1261773439
Washington
2009-12-25 23:37
2010.03.14
Сервис обмена кодом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский