/// <summary>
///
/// </summary>
/// <param name="inptr"></param>
/// <param name="outptr"></param>
/// <returns></returns>
[DllImport("Test.DLL", EntryPoint = "TestMethod")]
public static extern int Kc_BankDataExchg(Up inptr, out Down outptr);
其中Test.dll为动态库名称,TestMethod为动态库内的方法名,inptr为输入结构体,outptr为输出结构体
// 中间件上传结构
public struct Up
{
//通讯码
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
public string TransCode;
//上传文件大小
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
public string SizeOfFile;
//上传文件名
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
public string FileName;
}
// 中间件下传结构
public struct Down
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
//返回结果码
public string RetValue;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
//下传文件名称
public string RetFileName;
//下传文件记录数
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)]
public string RetRowsCount;
}
string 与非托管中的C++代码对应的为Char型
///
/// </summary>
/// <param name="inptr"></param>
/// <param name="outptr"></param>
/// <returns></returns>
[DllImport("Test.DLL", EntryPoint = "TestMethod")]
public static extern int Kc_BankDataExchg(Up inptr, out Down outptr);
其中Test.dll为动态库名称,TestMethod为动态库内的方法名,inptr为输入结构体,outptr为输出结构体
// 中间件上传结构
public struct Up
{
//通讯码
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
public string TransCode;
//上传文件大小
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 13)]
public string SizeOfFile;
//上传文件名
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
public string FileName;
}
// 中间件下传结构
public struct Down
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 5)]
//返回结果码
public string RetValue;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 65)]
//下传文件名称
public string RetFileName;
//下传文件记录数
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 7)]
public string RetRowsCount;
}
string 与非托管中的C++代码对应的为Char型