Bonjour,
J'ai une erreur assez peu courante :
"System.Runtime.InteropServices.MarshalDirectiveException*: 'Impossible de marshaler 'parameter #2'*: Impossible de marshaler les types génériques.'
Et je n'arrive pas a m'en sortir.
Auriez vous une piste a me donner ?
Voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
[DllImport(@"toto.dll")]
    public static extern int toto_send_bytes_register(UIntPtr hdl,  Func<uint, uint, UInt16, uint, int> cb, IntPtr user_data);
 
    internal int MyToto_diag_send_bytes_register(UIntPtr hdl, Func<uint, uint, ushort, uint, int> cb, IntPtr user_data)
    {
        return toto_send_bytes_register(hdl, cb, user_data);  --------> Ca plante ici à l'execussion ...System.Runtime.InteropServices.MarshalDirectiveException*: 'Impossible de marshaler 'parameter #2'*: Impossible de marshaler les types génériques.'
 
    }
}

J'ai rajouté des [MarshalAs(UnmanagedType.FunctionPtr)] sur le deuxieme parametre... pas mieux...
Merci pour votre aide...