Определяемые пользователем входные параметры в DLL файле
У меня есть проект на c++ с методом
int recvPDU(mmslib::MMSpdu_PDU* pdu, mmslib::mms_Control* ctl);который имеет определенные пользователем входные параметры.
Я хочу использовать этот метод в проекте c#, создав dll метода recvPDU. Я успешно создал библиотеку dll. Но я не могу понять, как использовать dllimport.
Что я уже пробовал:
Код C# выглядит следующим образом:
[DllImport(@"C:\\Riddhi_GIT\\IEC 61850 Lib\\Debug\\Prototype_IECServer.dll")] private static extern int recvPDU(... pdu, ... ctl);
Путь к библиотеке dll правильный. Но мне нужна помощь, чтобы поставить тип данных вместо этого ... в атрибута DllImport.
Richard MacCutchan
Поскольку оба параметра являются указателями, вы можете использовать тип IntPtr. Вам также нужно будет создать структурное отображение для каждого параметра: Класса Атрибута Structlayoutattribute (Системы.Во время выполнения.InteropServices)[^].
Member 13612015
Спасибо за ваш ответ. Я новичок в c++. Я никогда над этим не работал. К тому же код, который я использую, написан кем-то другим. Я не знаю, как создать структурное отображение. Можете ли вы показать мне пример?
Richard MacCutchan
Пример приведен в ссылке, которую я привел выше.
Member 13612015
Йа. Я понял это позже. Большое спасибо