utiliser un callback C++ natif avec du code .NET (en C#)
Bonjour � tous, premier message et premier souci ! ;)
Je dispose d'un p�riph�rique et d'un code sommaire pour l'utiliser. Sans entrer dans des d�tails (confidentiel), voici les fichiers dont je dispose
pour l'exemple, ce code sera nomm� toto dans la suite de l'explication.
J'ai trois fichiers : toto.h, toto.lib, toto.dll (dll native)
toto.ha la t�te suivante :
#ifdef TOTO_EXPORTS
#define TOTO_API __declspec(dllexport)
#else
#define TOTO_API __declspec(dllimport)
#endif
typedef struct _mastruct
{
WORD data1, data2, data3, data4;
} mastruct;
typedef void (WINAPI *TotoCallback) (const mastruct *, int, int);
TOTO_API int RegistCallback(TotoCallback);
Cette fonction me permet d'enregistrer un callback que je code, et qui a la t�te suivante :
void WINAPI monCallback(const mastruct *data, int i, int j)
{
//traitement des param�tres, fournis par le p�riph�rique
}
Ce callback est automatiquement appel� lorsque le p�riph�rique d�tecte une activit�.
J'arrive � faire fonctionner le tout avec un programme C++ WIN32, mais j'aimerais exploiter tout cela avec C#/.NET.
J'ai donc 2 questions :
Est-il possible d'enregistrer une m�thode C# en tant que callback aupr�s de la fonction RegistCallback ? (j'en doute)
Dans le cas probable o� ce n'est pas possible, je vais donc devoir utiliser ma fonction monCallback(). J'aimerais que cette fonction l�ve un �v�nement (grosso-modo, impl�mente un d�l�gu� pour abonner des m�thodes C#). Est-ce possible ?
sinon, au pire, comment peut-on appeler une m�thode C# depuis du code C++ natif ???
Merci � ceux qui auront lu jusqu'ici ! ;)