【问题标题】:C# callback function passing arrayC#回调函数传递数组
【发布时间】:2015-01-12 01:07:50
【问题描述】:

有一个 C 代码用于访问电子设备。但是,我需要用 C# 编写代码才能访问该电子设备。

C 代码步骤:

setPositionCallback( devNo, positionCallback, 2 );

调用 positionCallback 函数。

static void positionCallback( unsigned int devNo, unsigned int count, unsigned int index,
  const double * const pos[3], const bln32 * const mrk[3] )

在上面的代码中,setPositionCallback - 调用一个 positionCallback,然后通过 pos 和 mrk 变量提供数据。

现在,当我在 C# 中编写代码做同样的工作时,我在调用 positionCallback 时遇到了麻烦——我得到了 marshal 错误,有时我得到 Exception Code: c0000005 并且我的代码崩溃了。

请有人帮我在 C# 中复制 C positionCallback 函数中有什么?

【问题讨论】:

标签: c# exception callback


【解决方案1】:
public void positionCallback(uint devNo,uint count,uint index,ref System.IntPtr pos,ref System.IntPtr mrk)

借助 Pinvoke

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    相关资源
    最近更新 更多