Я использую DLL, которая была написана в c. Я импортировал все нужные мне функции в мою программу на c #. Большинство функций, которые я могу заставить работать правильно, но у меня проблемы с некоторыми. Функции, с которыми у меня возникают проблемы, требуют ввода структуры. Я предполагаю, что мне нужно определить эту структуру в C #, что я и сделал, но я начинаю путать себя, поэтому я оставлю то, что пытался сделать Структура довольно длинная, поэтому я просто буду выглядеть как в c:
typedef struct chain_link_info
{
unsigned short command;
unsigned long* buff_id;
FLAGS_TYPES flags; // this is a union that i will list below
} CHAIN_LINK_INFO;
typedef union flags_type
{
unsigned long ulong;
struct
{
unsigned short std_flags;
unsigned short high
} ushort;
struct
{
unsigned int a : 1;
unsinged int b : 1;
unsinged int c : 1;
unsinged int d : 1;
unsinged int e : 2;
unsinged int f : 1;
unsinged int g : 1;
unsinged int h : 1;
unsinged int i : 1;
unsinged int j : 1;
unsinged int k : 1;
unsinged int l : 1;
unsinged int m : 1;
unsinged int n : 1;
unsinged int o : 1;
unsigned int high_word :16
} std_bits;
} FLAGS_TYPE;
как правильно определить эти элементы в C #? Спасибо