Подключением библиотеки С/С++ на С# - C#
Формулировка задачи:
Доброго всем времени суток!
У меня есть проект на С# (Windows Forms) к которому надо подключить библиотеку на С/С++ "WDMTMKv2.dll".
Вобщем на компьтере стоит плата с которой надо работать, а все библиотеки и примеры (консольные, под Dos) на С/С++. А мне надо как то работать с функциями описанными в .h файле (TmkOpen(), TmkClose()...). Файлы dll, cpp, h я загрузил в прилагающийся архив.
Подскажите, пожалуйста, как это сделать.
Решение задачи: «Подключением библиотеки С/С++ на С#»
textual
Листинг программы
const string WDMTMKv2 = @"F:\temp\INCLUDE\i386\DLL\WDMTMKv2.dll";
[DllImport( WDMTMKv2 )]
static extern uint TmkOpen ( );
[DllImport( WDMTMKv2 )]
static extern void TmkClose ( );
[StructLayout( LayoutKind.Sequential, CharSet = CharSet.Ansi )]
struct TTmkConfigData
{
public short nType;
[MarshalAs( UnmanagedType.ByValTStr, SizeConst = 10 )]
public string szName;
public ushort wPorts1;
public ushort wPorts2;
public ushort wIrq1;
public ushort wIrq2;
public ushort wIODelay;
}
[StructLayout( LayoutKind.Sequential )]
struct TTmkEventData
{
public int nInt;
public ushort wMode;
public ushort wValue0;
public ushort wValue1;
public ushort wValue2;
}
[DllImport( WDMTMKv2 )]
static extern void tmkgetinfo (
[Out] out TTmkConfigData pConfD
);
[DllImport( WDMTMKv2 )]
static extern void tmkgetevd (
[Out] out TTmkEventData pEvD
);