Bonjour,

dans le cadre d'un projet C# / .NET 4.0 je dois faire appel à une dll codée en C.
Après quelques lectures sur DllImport je suis bloqué, à chaque fois que j'essaie d'appeler la dll ça lance une exception :

Impossible de trouver le point d'entrée [...] dans la dll [...]
Je pense que c'est parce que les paramètres que j'utilise n'ont pas le bon type, mais n'ayant jamais fait de C je ne sais pas trop comment les convertir.

Voici la déclaration de la fonction dans le fichier .h :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
extern "C" __declspec(dllimport) int CardDetect(bool Debug, void (*)(char *Data, int Len));
Le 2ème paramètre m'apparait hautement chelou

J'ai essayé plusieurs solutions, de style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
[DllImport("DriverDll.dll", EntryPoint = "CardDetect", ExactSpelling = false, SetLastError=true)]
		static extern int CardDetect(bool debug, object obj);
Mais j'ai l'exception à chaque fois.
Y a t il un codeur C dans la salle ?