Главная / FAQ по Builder'у / 38 Как пользоваться RasEnumConnections?

38 Как пользоваться RasEnumConnections?


file://---------------------------------------------------------------------
file://..............Процедура поиска соединения в активных соединениях....
file://---------------------------------------------------------------------
 int __fastcall GetRasEnumConnections(AnsiString NameConn)
{
 // значение -1 произошла ошибка;
 // значение 0 соединения нет;
 // значение 1 соединение активно

 unsigned long buff_size;
 unsigned long num_conn;
 unsigned long stat;
 char buff_error_mess[257];

 RASCONN* RasConn;
 RasConn=new RASCKNN;
 RasConn->dwSize=sizeof(RASCONN);
 buff_size=sizeof(RASCONN);

 stat=RasEnumConnections(RasConn,&buff_size,&num_conn);

 if(stat==ERROR_BUFFER_TOO_SMALL)
   {
     delete RasConn;
     RasConn = new RASCONN[num_conn];
     RasConn[0].dwSize=sizeof(RASCONN);
     buff_size = sizeof(RASCONN)*num_conn;

     stat=RasEnumConnections(&RasConn[0],&buff_size,&num_conn);
     if (stat!=0)
      {
        RasGetErrorString( stat,buff_error_mess,sizeof(buff_error_mess));
        return -1;
      }

  }
  for (unsigned int i=1; i<=num_conn;i++)
       {
        if( AnsiString(RasConn[i-1].szEntryName)==NameConn)
         {
         file://Выполняются какие-то действия.
         file:// CurRunRasEntry->hrasconn = RasConn[i-1].hrasconn;
         file://CurRunRasEntry->rasconnstate = RASCS_Connected;
         return 1;
         }

       }
delete [] RasConn;
return 0;
}
gsv 2:451/300.128

Предыдущий вопрос   |  Список вопросов   |   Следующий вопрос

источник      На главную      by jenyok
Copyright © 2003 JTSOFT
Сайт управляется системой uCoz