打开COMM口时提供异常 不能设置COMM状态,可能有一个或多个无效的通讯参数

打开COMM口时提供错误 不能设置COMM状态,可能有一个或多个无效的通讯参数
同样的打开COMM的代码在WIN7下运行正常,但在XP下运行时出现错误:打开COMM口时提供错误 不能设置COMM状态,可能有一个或多个无效的通讯参数。
代码如下:

Public Function Opencomm() As Boolean
On Error GoTo ERRcom

    Opencomm = False
  
       MSComm1.CommPort = 1
    MSComm1.Handshaking = 0
     MSComm1.Settings = "2400,e,8,1"
    MSComm1.EOFEnable = False
    MSComm1.InBufferCount = 0
    MSComm1.OutBufferCount = 0
    MSComm1.InputMode = comInputModeBinary   '读取二进制数据
    MSComm1.RThreshold = 0
    MSComm1.SThreshold = 0
    MSComm1.NullDiscard = False
    
    MSComm1.InputLen = 0
   MSComm1.InBufferSize = 1024

     MSComm1.PortOpen = True   ‘运行到此处时出现错误    If MSComm1.PortOpen = True Then Opencomm = True Else Opencomm = False
    Exit Function
ERRcom:
      MsgBox Err.Description, vbOKOnly, "提示"
      Opencomm = False
End Function


请问是何原因
------解决思路----------------------
是不是CommPort 被占用了
------解决思路----------------------
win7 和 XP 是同一台机器吗?
------解决思路----------------------
LZ的代码,在XP下测试没发现问题。
------解决思路----------------------
xp机器没有com口或com口不可用