#define INTERNET_CONNECTION_OFFLINE 20
BOOL CNetwork::IsConnected() const
{
DWORD dwState = 0;
BOOL bIsConnect = FALSE;
if ( InternetGetConnectedState( &dwState, 0 ) )
{
if (!(dwState & INTERNET_CONNECTION_OFFLINE ) ) bIsConnect = TRUE;
}
return bIsConnect;
}
在编程时候,遇到这样一个代码,突然想起来MSDN 中有in/out属性,InternetGetConnectedState的第一个参数是【out】的
突然不明白,dwState在执行完InternetGetConnectedState后的值变成多少了?
我在程序中单步时,执行完了dwState=0x12,这是怎么回事?
所为的【out】属性,是指初始化一个值后让系统执行函数,完了再返回给这个变量一个值吗?
函数执行之后,dwState等于多少,msdn应该都有说明
我觉得这个out可以当成另一种形式的函数返回值
这样通过传入引用和指针的指针,一个API函数可以有多个返回值。
一般out参数返回值返回数据,而函数返回值返回函数执行后的状态。