Главная страница
    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.006 c
4-1229444068
aHTuXpust
2008-12-16 19:14
2010.03.14
Запуск приложения от имени


2-1263470601
Darvin
2010-01-14 15:03
2010.03.14
Доступ к элементам двумерного PSafeArray


15-1261724996
Медвежонок Пятачок
2009-12-25 10:09
2010.03.14
скромность и умеренность по христиански.


4-1230196376
OlegNik
2008-12-25 12:12
2010.03.14
CreateFile


1-1239858352
EgorovAlex
2009-04-16 09:05
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский