以上代码在PB9上可以正常运行,但小弟我升级到11.5,就不行了

以下代码在PB9下可以正常运行,但我升级到11.5,就不行了
Long ll_hICMP
Long ll_RTN
String ls_Message
Ulong aul_IPAddr

IP_OPTION_INFORMATION lstr_IPInfo
ICMP_ECHO_REPLY lstr_ICMPReplay

//打开ICMP句柄
ll_hICMP = IcmpCreateFile()

If ll_hICMP <> 0 Then

ls_Result = ""
ls_Message = "测试测试测试测试测试测试测试测试"

aul_IPAddr = of_ChangeIPv4ToLong(as_IPaddress)

//发送ICMP请求
ll_RTN = IcmpSendEcho (ll_hICMP, aul_IPAddr, ls_Message, Len(ls_Message), 0, lstr_ICMPReplay, 282, 200)  //在11.5下,每次运行到这里就自动退出了,不理解。。。。。。。

//判断回应状态
If ll_RTN > 0 Then
ls_Result = "=√"//状态值为:" + String(lstr_ICMPReplay.Status) 
Else
ls_Result = "=×"//,错误号为:" + String(WSAGetLastError())
End If

//关闭ICMP句柄
IcmpCloseHandle(ll_hICMP)

Return ll_RTN
Else
ls_Result = "无法打开ICMP句柄!"
Return -1;
End If
------解决思路----------------------
外部函数定义时要加 alias for ***;ansi
因为11.5是UNICODE的