Импорт функций из DLL - C# (213578)
Формулировка задачи:
Доброго времени суток.
Необходимо импортировать библиотеку, написанную на с. Прочитал msdn и google.
Например, в код С++
Я переведу в C#
Но что если в качестве передаваемого параметра идет сложная структура? Например:
С++
Как такое объявить в C#?
long int mapGetRscObjectNameInLayerEx(long int hRsc, long int layer, long int number, char * name, long int size);
public static extern int mapGetRscObjectNameInLayerEx(int hRsc, int layer, int number, string name, int size);
typedef struct tagPALETTEENTRY { BYTE peRed; BYTE peGreen; BYTE peBlue; BYTE peFlags; } PALETTEENTRY; typedef struct PALETTE256 { WORD palVersion; WORD palNumEntries; PALETTEENTRY palPalEntry[256]; } PALETTE256; int** SomeFunc(const char * name, PALETTE256** somearg, const PALETTE256 * palette);
Решение задачи: «Импорт функций из DLL»
textual
Листинг программы
using System; using BYTE = System.Byte; using System.Runtime.InteropServices; [StructLayout(LayoutKind.Sequential)] public struct tagPALETTEENTRY { public BYTE peRed; public BYTE peGreen; public BYTE peBlue; public BYTE peFlags; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д