C#用wininet会判断Win7系统的网络连接,却不能判断xp系统的网络连接

C#用wininet能判断Win7系统的网络连接,却不能判断xp系统的网络连接。
相关代码如下:
[DllImport("wininet.dll", EntryPoint = "InternetGetConnectedState")]
 public extern static bool InternetGetConnectedState(out int conState, int reder);
         //参数说明 constate 连接说明 ,reder保留值
 public static bool IsConnectedToInternet()
  {
             int Desc=0;
             return InternetGetConnectedState(out Desc, 0);
 }
然后我在需要判断网络连接的地方是这么写的:
while (Flagnet)
 {
            if (IsConnectedToInternet())//如果是连上的
            {
                      Flagnet = false;                                   
                        this.BeginInvoke(new invokeDelegate0(UpdataReceiveTextBox), "\r\n      网络连接正常,即将开始测试\r\n");
              }
             else//如果网口1网线未连上
               {
                       Thread.Sleep(1500);
                         this.BeginInvoke(new invokeDelegate0(UpdataReceiveTextBox), "\r\n网络未连接,请将网口1接上网线\r\n");
               }
 }                            
我在自己的win7上,不插网线的情况下能提示“网络未连接,请将网口1接上网线”,插上网线测试能提示网络连接正常。在xp系统上不插网线的情况下,却得不到“网络未连接,请将网口1接上网线”提示。在xp系统上,连接网线的情况下进行网络测试却又提示网络正常。请问是什么原因呢,是不是wininet的原因。我用的VS2012,win7系统。求指点啊。
------解决思路----------------------
没用过
InternetGetConnectedState(out Desc, 0);
Desc是干嘛的,你确定不需要把这个参数out出来判断一下吗