Я пытаюсь отобразить PDF-документ на Android в приложении Mono для Android. Я использую библиотеку MuPdf, написанную на C, и у меня проблема с вызовом одной функции C. Что я получаю:
System.EntryPointNotFoundException: fz_pixmap_samples
Функция С:
unsigned char *fz_pixmap_samples(fz_context *ctx, fz_pixmap *pix)
{
if (!pix)
return NULL;
return pix->samples;
}
Моя оболочка С#:
public class APV
{
[DllImport("libmupdf.so", EntryPoint = "fz_pixmap_samples", CallingConvention = CallingConvention.Cdecl)]
private static extern IntPtr fz_pixmap_samples(IntPtr ctx, IntPtr pix);
public static IntPtr GetSamples(IntPtr ctx, IntPtr pix)
{
return fz_pixmap_samples(ctx, pix);
}
}
как я вызываю GetSamples:
APV.GetSamples(context, pix);
Функция fz_pixmap_samples(fz_context *ctx, fz_pixmap *pix) должна вернуть мне указатель на растровые данные. Я предполагаю, что сопоставление unsigned char * с IntPtr неверно? Может ли кто-нибудь помочь?