0

嗨,我有一个第三方 dll,它的功能向 dvr 发出请求...我尝试了一些功能,但我得到了错误的结果...我不知道是我错了还是 dll 有问题..来自 dll 文档:

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 但如果我尝试读取第一个单元格会出现空异常...我在几天内尝试了各种修改,有时如果我打印单元格我会得到 0 或奇怪的符号...我也认为我get 是数组的地址,但无论如何我不知道如何得到它......
知道吗?

4

0 回答 0