主要是访问地址的问题,例如以下的例子,本来函数的参数是String,但我调用的时候,要用StringBuilder类型,要先给它分配内存,这样才能获取数据,估计其它类型也一样吧
[DllImport("CryptoDll.DLL", EntryPoint="GetMacAdd", SetLastError=true,
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern bool GetMacAdd(StringBuilder strMacAdd);
[DllImport("CryptoDll.DLL", EntryPoint="GetMacAdd", SetLastError=true,
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern bool GetMacAdd(StringBuilder strMacAdd);
我后来,把TargetValuePtr由SQLPOINTER改成了Byte[50],倒是可以了。但不知为何有时程序老是莫名其妙地没有任何提示就退出了?