У меня есть собственная библиотека, которая имеет функцию со следующей подписью:
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, похоже, что я делаю что-то не так.Как мне это правильно объявить?