Я хотел бы использовать неуправляемый код из C в C #.
Я построил DLL с кодом C с помощью этих функций:
struct GetPluginData
{
int data[22];
};
DLLEXPORT extern "C" __declspec (dllexport) GetPluginData GetDataArray(int number);
В C # у меня есть этот код:
[StructLayoutAttribute(LayoutKind.Sequential, Pack=1)]
public unsafe struct GetPluginData
{
/// int[22]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 22, ArraySubType = UnmanagedType.I4)]
public int[] data;
}
[DllImport("RBRPlugin.dll", CallingConvention = CallingConvention.StdCall, EntryPoint = "GetDataArray")]
[return: MarshalAs(UnmanagedType.Struct)]
public static extern GetPluginData GetDataArray(int number);
В событии кнопки или в другом местекод, я написал это:
GetPluginData tes = GetDataArray(1);
И я получаю ошибку: Сигнатура типа этого метода не совместима с PInvoke.
Я ищу информацию через Google, ноничего не найдено ...
Заранее спасибо!