Bonjour,
J'ai une fonction C définie comme suit :
libvlc_instance_t * libvlc_new( int argc, const char *const *argv, libvlc_exception_t *p_e )
Je souhaite l'appeler en C#. J'ai donc déclaré :
1 2
| [DllImport("libvlc", EntryPoint = "libvlc_new")]
public static extern IntPtr InstanceNew(int argc, string[] argv, NativeExceptionStruct ex); |
Seulement, la fonction native me jette : elle n'arrive pas à lire le tableau.
Après lecture de la doc de la fonction et un peu de google, il semblerai que je me trouve dans un problème épineux. Les encodages des chaines viennent me pourrir la vie : la fonction native veut de l'UTF-8.
Au final, je dois convertir du string[] vers du const char*const* en transcodant le string vers de l'UTF-8 avec un caractère null terminal.
Est-ce que quelqu'un peut m'aiguiller sur une piste svp ?
Partager