如何从C#中的指针struct param调用C++函数?在 “C++。DLL” 定义
问题描述:
C++函数如何从C#中的指针struct param调用C++函数?在 “C++。DLL” 定义
FunctionName int GetDevice(VB_Device_Info* params){ do something...}
typedef struct
{
char Name[10];
int nPort;
}VB_Device_Info;
我试图调用此函数并在VB
Public Structure VB_Struc
Public Name As String
Public nPort As Integer
End Structure
<DllImport("c++.dll")>
Public Shared Function FunctionName(<[In](), Out()> ByVal StructArray() As VB_Struct) As Integer
End Function
工作以及我如何定义这个C++函数的C#?
答
你能试试吗?
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)] struct VB_Device_Info{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=10)] public String Name; int nPort; } [DllImport("c++.dll"] static extern int GetDevice(ref VB_Device_Info);
你试过了什么? – user1810087 2015-02-06 14:01:38
@ user1810087 'Dim DeviceInfo(10)As VB_Struc' 'FunctionName(DeviceInfo)'' – 2015-02-06 14:06:01