Автор
|
Тема: Как дозвониться до провайдера?
|
boolean |
опубликован 23-08-2001 11:53 MSK
У меня есть уже созданное соединение... Как программно, используя его (со своими логином и etc.), дозвониться до провайдера, узнать, что соединение установлено и разорвать связь?
|
m_fox
|
опубликован 23-08-2001 16:22 MSK
RasDial |
boolean
|
опубликован 23-08-2001 22:56 MSK
Пробовал RasDial - нифига не получается... RASDIALPARAMS *par; con = NULL; par->dwSize = sizeof(RASDIALPARAMS); StrCopy(par->szEntryName, "ВСИ"); StrCopy(par->szPhoneNumber, "8W55"); StrCopy(par->szUserName, "guest"); StrCopy(par->szPassword, "guest"); RasDial(NULL, NULL, par, NULL, NULL, con); Может что не то написал (у меня Win98).
|
server_mouse
|
опубликован 23-08-2001 23:15 MSK
>Пробовал RasDial - нифига не получается... >RASDIALPARAMS *par;Ты ж создаёшь указатель на структуру, но не саму структуру! Наверняка вылетаешь с Exception? Может хотя бы заведёшь саму стр-ру, и будешь передавать указатель на неё? Ты подумай, куда ты копируешь строки?! Кошмар... |
m_fox
|
опубликован 24-08-2001 05:28 MSK
Надо так: RASDIALPARAMS par; con = NULL; par.dwSize = sizeof(RASDIALPARAMS); StrCopy(par.szEntryName, "ВСИ"); StrCopy(par.szPhoneNumber, "8W55"); StrCopy(par.szUserName, "guest"); StrCopy(par.szPassword, "guest"); RasDial(NULL, NULL,&par, NULL, NULL, con);И учти задержки, как написано в MSDN.
|
boolean
|
опубликован 24-08-2001 20:01 MSK
Не получается и так... Как будто ничего не произошло... Никакого Exeption нет - не вылетает... |
server_mouse
|
опубликован 24-08-2001 22:38 MSK
Посмотри на www.firststeps.ru Там есть пара хороших примеров. |
boolean
|
опубликован 25-08-2001 10:48 MSK
Сайт не работает :-( Выручайте... |
server_mouse
|
опубликован 25-08-2001 11:05 MSK
А что это за con=NULL;? Должно быть так: HRASCONN con=NULL; RasDial(NULL, NULL,&par, NULL, NULL, &con); |
server_mouse
|
опубликован 25-08-2001 11:13 MSK
Далее, сделай обработчик соединения, например так: RasDial(NULL, NULL,&par, 1, MyRasFun, &con); VOID WINAPI MyRasFun( HRASCONN hrasconn, // handle to RAS connection UINT unMsg, // type of event that has occurred RASCONNSTATE rascs, // connection state about to be entered DWORD dwError, // error that may have occurred DWORD dwExtendedError // extended error information for some errors ) { //Здесь какой-то обработчик //Посмотри хотя-бы на каком этапе получается ошибка }
|
boolean
|
опубликован 25-08-2001 21:00 MSK
RasDial(NULL, NULL,&par, NULL, NULL, &con); Перед con не нужен &. Но да ладно... Эта функция - я не понимаю... Никаких ошибок нет, но и действий тоже... Кроме того, компилятор ругается на запись RasDial(NULL, NULL,&par, 1, MyRasFun, &con); - там ввобще он не ждёт имя функции MyRasFun. |
boolean
|
опубликован 25-08-2001 21:01 MSK
(To server_mouse) Может поможешь готовым текстом (компилированном)... ОЧЕНЬ прошу... |
boolean
|
опубликован 25-08-2001 22:16 MSK
НАШЁЛ! Всё работает!!! http://firststeps.chat.ru/mfc/ras/ |
server_mouse
|
опубликован 26-08-2001 13:06 MSK
2boolean Перед con & всё-таки нужен! Так в чём всё-таки трабла была?>Кроме того, компилятор ругается на запись >RasDial(NULL, NULL,&par, 1, MyRasFun, &con); >- там ввобще он не ждёт имя функции MyRasFun. Чего всё-таки не так было??? Код-то есть, но для соединения по VPN.
|
boolean
|
опубликован 26-08-2001 22:11 MSK
2server_mouse Надо было объявлять вот так: RASDIALPARAMS par[1];И в функцию передавать вот так: RasDial(NULL, NULL, par, NULL, NULL, &con); Короче дело было в "par-е" :-) |
m_fox
|
опубликован 28-08-2001 16:36 MSK
Поставь после RasDial поставь Sleep(10000). Если модем начал звонить, то ты что-то не так делаешь. Если нет, то что-то с вызовом функции. |
Yola
|
опубликован 06-09-2001 09:52 MSK
Уверяю тебя дело было не в par'e, то что ты написал в конечном варианте, то же что и в первом, т.к. имя массива это тотже указатель на первый элемент... |