2014-11-14 102 views
0

有一个用于访问电子设备的C代码。但是,我需要用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时遇到了麻烦 - 我得到了编组错误,有时我得到异常代码:c0000005和我的代码崩溃。

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

+0

这可能帮助http://www.pinvoke.net/ – reggaeguitar 2014-11-14 16:18:11

回答

0
public void positionCallback(uint devNo,uint count,uint index,ref System.IntPtr pos,ref System.IntPtr mrk) 

采取PInvoke的帮助