我有一个本地库,它具有以下签名的功能:
int git_remote_download(char **filename, git_remote *remote);
我正在尝试从我的托管代码中使用它,如下所示: (盲目地从其他代码中复制)
[DllImport(libgit2)]
public static extern int git_remote_download(
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof (Utf8Marshaler))] out string filename,
RemoteSafeHandle remote);
当我收到AccessViolationException时,看起来我做错了什么。我该如何正确申报?