日期:2014-05-18  浏览次数:21102 次

求教如何使用平台调用封送结构指针数组
设在非托管环境(本地DLL)中声明有如下结构体:
typedef   struct   struct_MYSTRUCT
{
        int   pArray[4];
}MYSTRUCT,   *LPMYSTRUCT;

和如下函数:
void   func(LPMYSTRUCT*   pStructArray){}

问题是,在.NET中如何封送结构体指针数组?我这样声明发现不对:

struct   MyStruct
{
    public   Int32[]   array;
}

private   static   extern   Func(
  [MarshalAs(UnmanagedType.LPArray,   ArraySubType=UnmanagedType.LPStruct,   SizeConst=2),In]
  MyStruct[]   structArray
);

------解决方案--------------------
toc,我已经弄明白怎么回事了,解答放在 http://hi.baidu.com/fancyaj 里面了。

呵呵~~ 多谢~~