Я использую dll, написанную в c. Я импортировал все функции, которые мне нужны, в мою программу C#. Большинство функций я могу нормально работать, но у меня проблемы с несколькими. Функции, с которыми я сталкиваюсь, требуют ввода структуры. Я предполагаю, что мне нужно определить эту структуру в C#, которую я сделал, но я начинаю путать себя, поэтому я оставлю все, что я пытался. Структура довольно долго, так что я буду просто, как это выглядит в C:Преобразование c struct в C# из dll
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;
что такое правильный способ определить эту stucts в C#? Спасибо
Я считаю, что это случай, когда [StructLayout] (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.structlayoutattribute.aspx) входит в игру, но не может быть положительны. –
Извините за нижний уровень, я удалил его. Должен был щелкнуть его случайно. Мне любопытно, как предполагается, что профсоюз будет отображаться. –