在使用Internet后掛斷線路

發表于:2007-07-14來源:作者:點擊數: 標簽:
WinInet API提供的功能很強大,但是當關閉掉Internet事務卻不能關閉掉dial up連接。在WinInet API中沒有提供相應的函數完成該功能。 解決方法: RAS API可以通過調用RasHangUp(...)關閉連接,但是需要RAS句柄。有兩種方法可以得當RAS句柄:1、自己建立RAS連接
WinInet API提供的功能很強大,但是當關閉掉Internet事務卻不能關閉掉dial up連接。在WinInet API中沒有提供相應的函數完成該功能。

解決方法:
RAS API可以通過調用RasHangUp(...)關閉連接,但是需要RAS句柄。有兩種方法可以得當RAS句柄:1、自己建立RAS連接是保存該句柄,但這樣做對與解決當前提出的問題是沒必要的,2、通過RasEnumConnections(...)列舉所有句柄。

所需環境:
RASAPI32.DLL,該連接庫在安裝播號網絡時會自動安裝。
RAS.H
RASAPI32.LIB
示范代碼:
// Quit a dial up connection  - rasapi32.lib und #include "ras.h" needed
bool DisconnectRas()
{
   bool bOk = false;
   RASCONN ras[20];
   DWORD dSize,dNumber,dCount;

   ras[0].dwSize = sizeof(RASCONN);
   dSize = sizeof( ras );

   // Get active RAS - Connection
   if( RasEnumConnections( ras, &dSize, &dNumber ) == 0 )
   {
      bOk = true;

      for( dCount = 0; dCount < dNumber; dCount++ )
      {
         // Hang up that connection
         if( RasHangUp(ras[dCount].hrasconn) != 0 )
         {
            bOk = false;
            break;
         }
      }
   }
   return bOk;
}

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97