c#这些参数传递给c ++ dll函数是否正确?

时间:2013-02-21 10:40:03

标签: c# c++ pointers dll parameters

嗨我有第三部分dll函数向dvr发出请求...我尝试了一些函数但是我得到了错误的结果...我不知道我错了还是dll有问题.. 来自dll docs:

int WINAPI tvcc_get_rec_days(int server_handle,struct Camera *video_camera,char **days,int
 *size);

char ** days应该是一个未分配的字符指针数组,它将包含日期列表 int * size将是数组的长度

我在c#中声明了这个函数,就像这个

[DllImport(lib, EntryPoint = "@tvcc_get_rec_days$qqsip6Camerappcpi")]
static public extern int tvcc_get_rec_days(int server_handle,ref Camera video_camera,ref char*[]  days,ref int size);

现在如果我按这样调用函数:

static char*[] days;
static int size;
int returnvalue = GamsSdk.tvcc_get_rec_days(sh2,ref cameras[1],ref days,ref size);

我得到正确的返回值(功能很好),大小是104但是天不是104阵列!! days.length总是= 1但是如果我尝试读取第一个单元格获取null异常...我在几天内尝试了各种修改,有时如果我打印单元格我得到0或奇怪的符号...我也认为我是什么get是数组的地址,但无论如何我不知道如何得到它...
任何想法?

0 个答案:

没有答案