c# 调用Labview dll中的 char 参数

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));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值