Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Отследить событие RAS-соединения   Найти похожие ветки 

 
Falcao   (2006-10-08 16:46) [0]

Здравствуйте, уважаемые Дельфины.
Подскажите, пожалуйста, что я делаю не так.
Из описания RasConnectionNotification следует, что с её помощью мы можем отоловить момент появления нового RAS-соединения. Но вот не катит что-то... Или я не правильно понял смысл этой ф-ии? Вот кусок:
//________
HANDLE h = NULL;
RASCONN r;
r.dwSize = sizeof(RASCONN);
RASCONNSTATUS rs;
rs.dwSize = sizeof(RASCONNSTATUS);
h = CreateEvent( NULL, false, true, NULL);
DWORD d = 0;
d = RasConnectionNotification( r.hrasconn, h,
  RASCN_Connection);
//................
//________
Симптомы: возвращаемое значение не нуль -> ошибка.

/*видел, каг была зарублена подобного рода тема в виду подозрения, что человек пишет спам-машину.
Но я - не спамер=))) гы.*/


 
Falcao   (2006-10-09 17:22) [1]

Роуз_?
Ребят, ни кто не в курсе? - не верю.


 
Ketmar ©   (2006-10-09 17:26) [2]

упорно искал в ней третий параметр. не нашёл.


 
Falcao   (2006-10-09 17:44) [3]

какой третий параметр? =) не понял. О чем ты? Вот код, представленный мной - и есть те самые три параметра. Вот её описание:
DWORD APIENTRY RasConnectionNotification( HRASCONN, HANDLE, DWORD );


 
Falcao   (2006-10-09 17:48) [4]

ААА! Ketmar, про описание в мануале? Да, там не верно описано.
На самом деле вот три параметра. Т.е. про параметр типа HRASCONN не описано, но я думаю, туда записывается созданное соединение. Созданное - в смысле появившееся, и не важно мы его произвели, или система. Вроде так.
Спасибо, что откликнулись =)


 
Ketmar ©   (2006-10-09 18:03) [5]

угу, блин. есть такая фигня. заглянул в MSDN -- там правильно. %-) извиняюсь.

цитирую из MSDN:

hrasconn
[in] Handle to the RAS connection for which to receive notifications. This can be a handle returned by the RasDial or RasEnumConnections function. If this parameter is INVALID_HANDLE_VALUE, notifications are received for all RAS connections on the local computer.


а ты вместо хэндла что, пардон, передаешь? %-) не RASCONN, а HRASCONN. %-) хэндл, то бишь.


 
Falcao   (2006-10-10 16:48) [6]

"не RASCONN, а HRASCONN"
d = RasConnectionNotification( r.hrasconn, h,
 RASCN_Connection);
r.hrasconn это и есть HRASCONN :) Вот и проблема...


 
Ketmar ©   (2006-10-10 16:55) [7]

да. спать мне надо больше. но всё равно -- чему у тебя этот хэндл равен? уж никак не -1 (INVALID_HANDLE_VALUE). %-)


 
Falcao   (2006-10-10 18:50) [8]

Handle to the RAS connection for which to receive notifications. This can be a handle returned by the RasDial or RasEnumConnections function. If this parameter is INVALID_HANDLE_VALUE, notifications are received for all RAS connections on the local computer.
В том-то и дело. Я так понял, что событие отрабатывает для всех соединений в системе.
Но "This can be a handle returned by the RasDial or RasEnumConnections function" вот не понял - то ли действительно нужно передавать существующий дескриптор соединения, или _можно_ ("can") передавать существующий, но необязательно.
Видимо, нужно передавать существующий. Тогда как отловить момент соединения? Есть еще вариант смотреть в списке процессов rasdial.exe, или постоянно проверять есть соединение, аль нет. Но это не есть хорошо.
Ketmar, спасибо за ответы.


 
Ketmar ©   (2006-10-10 19:12) [9]

внимательно втыкай в [5]. особенно во фразу "returned by the RasDial or RasEnumConnections function. If this parameter is INVALID_HANDLE_VALUE, notifications are received for all RAS connections on the local computer."


 
Ketmar ©   (2006-10-10 19:13) [10]

>[8] Falcao 10-Oct-2006, 18:50
>Ketmar, спасибо за ответы.
странно. обычно ругаются. %-)


 
Falcao   (2006-10-11 20:57) [11]

Прошу прощения, может я понял("втыкнул") опять не так, как нужно.
Я понял, что если параметр HRASCONN -1, то возвращается перечисления всех RAS-соединений системы.
Ругайте, если не в ту сторону опять...


 
Falcao   (2006-10-12 14:08) [12]

Вроде как разобрался. Спасибо за внимание.



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

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.032 c
15-1172843449
Ega23
2007-03-02 16:50
2007.03.25
Я тут компонент давеча предлагал потестить


11-1151018833
DevilDevil
2006-06-23 03:27
2007.03.25
Smart-Linking


15-1172809796
Tugodum
2007-03-02 07:29
2007.03.25
Где найти помошь от Delphi7


15-1172432294
@!!ex
2007-02-25 22:38
2007.03.25
ICQ спам.


1-1170324224
DelphiLexx
2007-02-01 13:03
2007.03.25
DBGridEh с возможностью округления Double-полей