vb.net怎么声明API

美薇 2017-10-04 10:26:29
c#中是这样声明的,不知道怎么变成VB.NET声明
[DllImport("AAA.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "USSOCX")]
public static extern int USSOCX(IntPtr handle, [MarshalAs(UnmanagedType.LPStr)]string Ip)

如下声明报错:调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。
Declare Function USSOCX Lib "AAA.dll" (ByVal handle As Long, ByVal Ip As Stringr) As Integer

求指点
...全文
1018 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
水哥阿乐 2017-10-06
  • 打赏
  • 举报
回复
Dim abc As Byte() = New Byte(256) {}
lylkr 2017-10-06
  • 打赏
  • 举报
回复
ByVal Ip As Stringr 字符型错了,没有r
threenewbee 2017-10-05
  • 打赏
  • 举报
回复
ByVal handle As Long -> ByVal handle As Integer
美薇 2017-10-05
  • 打赏
  • 举报
回复
谢谢了,另外 byte[] abc = new Byte[256]应该怎么转换为vb,net,代码怎么写

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧