Я пытаюсь скопировать эту структуру из C ++ в C #:
typedef struct
{
int id;
char *name;
} *ListOfObjects;
Я пытался использовать это, но он неправильно импортируется в приложение, которое использует эту DLL и ищет определенную подпись.
[StructLayout(LayoutKind.Sequential), Serializable]
public struct ListOfObjects {
[MarshalAsAttribute(UnmanagedType.ByValArray)]
public int id;
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 15)]
public string name;
}
[DllExport("ReadListOfObjects", CallingConvention = CallingConvention.Cdecl)]
static ListOfObjects ReadListOfObjects()
{
ListOfObjects lists = new ListOfObjects();
return lists;
}
После того, как я скомпилировал DLL и затем попытался запустить программу, которая импортирует эти функции, выдает эту ошибку:
The prodedure entry point ReadListOfObjects could not be located in the dynamic link library thedll.dll.
Есть идеи?