我有一个本机库,它的函数具有以下签名:
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 时,看起来我做错了什么。如何正确申报?