本帖最后由 a463658998 于 2014-01-10 10:32:34 编辑

解决方案 »

  1.   

    最好对每个字段都标记 [MarshalAs]
      

  2.   

    但是调接口的时候还是报错(该接口的参数为上面的结构体) 报错内容“程序集“mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中的“System.Byte[65535]”维度太多。”
      

  3.   

    但是调接口的时候还是报错(该接口的参数为上面的结构体) 报错内容“程序集“mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中的“System.Byte[65535]”维度太多。” 
      

  4.   

    但是调接口的时候还是报错(该接口的参数为上面的结构体) 报错内容“程序集“mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中的“System.Byte[65535]”维度太多。”那就按照版主说的每个都标记 [MarshalAs]呗
      

  5.   

    [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode, Pack = 1)]
    struct  xxxx
      

  6.   

    C++原接口:FUN_EXPORT int VapClient_CRSearch_GetNextResult(long searchid,int *idx/*输出当前结果索引*/,NET_ITS_PLATE_RESULT *result);     C#这边:[DllImport(@"CLibrary\vap\export_C\VideoAnalyzePlatform\VAP_ClientSDK.dll")]
            public static extern int VapClient_CRSearch_GetNextResult(int searchid, ref int idx, ref NET_ITS_PLATE_RESULT result);//idx输出当前结果索引
      

  7.   


    [DllImport(@"CLibrary\vap\export_C\VideoAnalyzePlatform\VAP_ClientSDK.dll")] 
    public static extern int VapClient_CRSearch_GetNextResult
    (
      [In]int searchid,
      [In,Out]ref int idx,
      [In, Out][MarshalAs(UnmanagedType.LPStruct)]NET_ITS_PLATE_RESULT result
    );