Labview 的dll char title[]参数在c#中的对应是byte[]
[MarshalAs(UnmanagedType.LPArray, SizeConst = 33)] byte[] ComputerID
c dll的声明
#include "extcode.h"
#ifdef __cplusplus
extern "C" {
#endif
/*!
* LicenseGeneratorCmd
*/
void __stdcall LicenseGeneratorCmd(char ComputerID[], char ActivationCode[],
int32_t len);
MgErr __cdecl LVDLLStatus(char *errStr, int errStrLen, void *module);
void __cdecl SetExecuteVIsInPrivateExecutionSystem(Bool32 value);
#ifdef __cplusplus
} // extern "C"
#endif
c# 中引用dll
[DllImport("LicGen.dll", EntryPoint = "LicenseGeneratorCmd", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)]
public static extern void LicenseGeneratorCmd([MarshalAs(UnmanagedType.LPArray, SizeConst = 33)] byte[] ComputerID, [MarshalAs(UnmanagedType.LPArray, SizeConst = 33)] byte[] ActivationCode, int len);
c#调用dll
byte[] d1 = System.Text.Encoding.UTF8.GetBytes("32CH-ZWM2-FCDG-2FK6");;
byte[] d2 = new byte[33];
DllClass.LicenseGeneratorCmd(d1, d2, 33);
MessageBox.Show("返回内容:" + System.Text.Encoding.Default.GetString(d2));