Interop d'un pointeur Struct C en C#
Bonjour,
J'ai un problème de conversion de structure entre C et C#.
Cela fait plusieurs jours que je recherche sur le net.
Ca ma permis de résoudre d'autres soucis mais pas celui-ci.:cry:
J'utilise une DLL d'un fabricant d'une carte. J'ai en ma possession le fichier.h.
J'ai 2 structures défini comme cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| typedef struct {
unsigned char frame_mode;
unsigned int nb_cvc;
unsigned int first_cvc;
unsigned char paq_window;
unsigned char paq_size;
unsigned char frame_window;
unsigned char n2;
unsigned int t1;
unsigned char clock;
unsigned char polling2;
} x25_t_scan_config_buffer;
typedef struct {
unsigned char card_number;
unsigned char line_number;
x25_t_scan_config_buffer *cfig_ptbuf;
} x25_t_scan_config_param; |
Voilà mon .cs
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
/// <summary>
/// Structure pour scanner la configuration de la carte.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public class X25TScanConfigBuffer
{
public byte frameMode;
public uint nbCvc;
public byte paqWindow;
public byte paqSize;
public byte frameWindow;
public byte n2;
public uint t1;
public byte clock;
public byte polling2;
}
/// <summary>
/// Structure pour scanner la configuration de la carte sur une ligne.
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public class X25TScanConfigParam
{
public byte cardNumber;
public byte lineNumber;
public IntPtr cfigPtBuff; //Pointeur sur la structure du buffer de configuration :X25TScanConfigBuffer.
} |
Je bloque sur la déclaration du pointeur de la structure cfigPtBuff X25TScanConfigBuffer
Merci d'avance.