Главная страница
    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.008 c
15-1261638900
Oleg1963
2009-12-24 10:15
2010.03.14
Помогите. Delphi 7 interprise не компилирует


15-1261765384
b/@.
2009-12-25 21:23
2010.03.14
На чем основана бизнес-модель казуальщиков...


2-1261502981
Aleks
2009-12-22 20:29
2010.03.14
Sql ошибка при выборки из за ковычек Майка " синяя"


15-1261854736
Германн
2009-12-26 22:12
2010.03.14
Странно сегодня глючил мой провайдер.


15-1261867671
KennyG
2009-12-27 01:47
2010.03.14
Ярлык с указанием CLSID вместо пути





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский