本来有点懒,不过还是记一下。

使用HPSocket项目碰到C#调用结果不符合预期,也提了这个问题

最终发现是c++中的bool类型为1 byte,而c#中采用4 bytes导致,需要在DllImport时,使用

[DllImport(HPSOCKET_DLL_PATH, CharSet = CharSet.Ansi, SetLastError = true)]
[return:MarshalAs(UnmanagedType.I1)]
public static extern bool HP_Server_HasStarted(IntPtr pServer);

额外处理返回值。

相关文章:

  • 2021-11-06
  • 2021-09-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-11
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
相关资源
相似解决方案