Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

Отследить событие 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
2-1172482647
SpellCaster
2007-02-26 12:37
2007.03.25
Глобальные переменные в нитях


1-1170022420
San1
2007-01-29 01:13
2007.03.25
при работе с динамическим массивом ошибка EInvalidPoint


2-1173084807
Pigeonhole
2007-03-05 11:53
2007.03.25
глюк в OpenDialog


1-1170495138
Medved_
2007-02-03 12:32
2007.03.25
StringGrid


6-1160204036
psa247
2006-10-07 10:53
2007.03.25
Ускорить работу WNetEnumResource





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