I would try adding some attributes to your struct decloration
[StructLayout(LayoutKind.Sequential, Size=TotalBytesInStruct),Serializable]
public struct LPRData
{
/// char[15]
[MarshalAsAttribute(UnmanagedType.ByValTStr, SizeConst = 15)]
public string data;
/// int[15]
[MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 15)]
public int[] prob;
}
*Note TotalBytesInStruct is not intended to represent a variable
JaredPar is also correct that using the IntPtr class could be helpful, but it has been quite awhile since I have used PInvoke so I’m rusty.