こんにちは、dvr に要求を行う関数の 3 番目の部分の dll があります...いくつかの関数を試しましたが、間違った結果が得られました...間違っているのか、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 ですが、最初のセルを読み込もうとすると null の例外が発生します...数日でさまざまな変更を試みましたが、セルを印刷すると 0 または奇妙な記号が表示されることがあります... get は配列のアドレスでしたが、いずれにせよ取得方法がわかりません...
何か考えはありますか?