I am trying to pass the following structure through a C ++ DLL to C #:
struct name { char* myArray[3]; char firstname[100]; char lastname[100]; }; void Caller(struct name * demo) { strcpy(demo->firstname,"hello"); demo->myArray[0]="hello"; demo->myArray[1]="hello"; demo->myArray[2]="hello"; ping(demo);
Below is my C # code:
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct name { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)] public string firstname; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 100)] public string lastname;
I can import the first and last name from a C ++ dll.
What should I do to import a char form pointer form of a C ++ array?
source share