[Mono-dev] Marshalling datatypes

Euan MacInnes euan_macinnes at hotmail.com
Sat May 31 03:50:53 EDT 2008

Hi all,
    I have a number of problems working with external APIs on linux, specifically a datatype that I don't know how to marshal, and a function that refuses to marshal

first is a parameter of a function that is a **byte[] array. A *byte[] array is more straightforward as that is a Marshal.Copy(), how to do a **byte[]?

the second is a function call that says it's exported from the lib, but mono/C# can't find it:

The C code in the .h file lists the function as:

static inline void av_free_packet(AVPacket *pkt)

and the C# lists it as:

[DllImport(AVFORMAT_NATIVE_LIBRARY, CallingConvention = CALLING_CONVENTION), SuppressUnmanagedCodeSecurity]
        public static extern void av_free_packet(IntPtr pAVPacket);

Yet, this keeps access-violating on EntryPointNotfound

Any help on either of these will be appreciated.

Best Regards,


More information about the Mono-devel-list mailing list