在使用Internet后挂断线路

王朝厨房·作者佚名  2007-01-04
宽屏版  字体: |||超大  

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;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有