Voici mon problème :
j'ai une dll écrite en C qui définit cette fonction (qui prend en paramètre une autre fonction callback. Callback qui sera appelée régulièrement par la dll en lui passant entre autre une structure msg) :
Code C de la dll:
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int TLN_listener_add( const char * listener_name, TLN_ListenerFilter * filter, TLN_ListenerCallback callback, void * data );
Code C de la dll:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 typedef int (*TLN_ListenerCallback)( void * handle, void * data, TLN_Message * msg ); typedef struct { unsigned int seq_num; char file_name[TLN_MAX_FILE_NAME + 1]; } TLN_Message; typedef struct { unsigned int types; char pattern[TLN_MAX_PATTERN + 1]; } TLN_ListenerFilter;
Ma question :
Comment utiliser cette fonction et ces structures dans un programme C# ?
J'ai essayé de jouer avec des delegate, des MarshalAs et DllImport mais sans succès.
J'ai bien lu tous les tutoriels mais sans succès ...
Quelqu'un a-t'il la solution ?
Comment passer en paramètre d'une dll C une méthode C# ?
Comment déclarer les structures C en C# pour qu'elles soient correctement gérées par la dll C et par C# ?
Merci
Partager