Импорт функций из 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д