Главная страница
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
2-1173016423
Roman_S
2007-03-04 16:53
2007.03.25
UpperCase для Memo


15-1172719137
Slider007
2007-03-01 06:18
2007.03.25
С днем рождения ! 1 марта


3-1167911763
Костя
2007-01-04 14:56
2007.03.25
1.mdb в 1.dbf


2-1172761740
Logslava
2007-03-01 18:09
2007.03.25
Как определить имя файла по хэндлу


2-1172647396
Нуб
2007-02-28 10:23
2007.03.25
Button