это мой первый пост здесь!Как вызвать функции внутри C dll, которые принимают указатели в качестве аргументов из C#
Я пытаюсь создать программу окон, используя C#, которая будет использовать предварительно скомпилированную библиотеку C. Он получит доступ к смарт-карте и предоставит ее. Для библиотеки у меня есть .dll, .lib и .h и нет источника. В файле .h указано несколько структур. Наиболее интересные функции .dll ожидают указатели на выделенные структуры как аргументы. Я вызов функций внутри .dll, как это, например функции
EID_API int WINAPI EidStartup(int nApiVersion);
будет называться как этот
[DllImport("CelikApi.dll")]//the name of the .dll
public static extern int EidStartup(int nApiVersion);
Теперь моя проблема заключается в том, что я не могу найти эквивалент указателей Си, который указывают на динамически выделяемые структуры в памяти на C#, поэтому я не знаю, что передать в качестве аргумента для функций, которые принимают C-указатели.
У меня нет большого опыта работы на C#, но для меня его использование выглядело как самый простой способ сделать нужную мне программу. Я пробовал с C++, но Visual Studio 2010 не имеет IntelliSense для C++/CLR. Если вы можете указать мне на что-то лучшее, не стесняйтесь делать это.