日期:2014-05-19  浏览次数:20716 次

具体C++代码转换成C#(请见内容)
需要要把C++代码转成C#
以下是C++代码
==============变量定义===================
PVOID   hDevice;
int   m_nComStatus;      
int   *m_pArrayDacCoef;               //数组
int   *m_pArrayBadPixelMap;       //数组
int   *m_pArrayBaseSetting;       //数组
float   *m_pArrayValue;               //数组

typedef   void   (CALLBACK*   FuncHandleRestoreAll)(PVOID   ,int*,   int   *,int   *,   int*   );
FuncHandleRestoreAll     FuncRestoreAll

=================调用====================
FuncRestoreAll(hDevice,m_pArrayBaseSetting,m_pArrayBadPixelMap,m_pArrayDacCoef,&m_nComStatus);


在C#运行时报错:   尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

问题关键是在int   *   指向的数组在C#中应该如何定义,和在函数里应该如何使用它?

------解决方案--------------------
项。。
------解决方案--------------------
int* Intptr;
然后用Marshal.AllocHGlobal(Int32) 方法分配内存。