C# 调用 dll 出现 The parameter is incorrect 错误
我遇到的情况是,因为调用的 dll 方法,会接受包含特殊字符的参数,所以在方法的声明部分添加了 CharSet = CharSet.Auto,但是添加后,调用方法时就出现了 “ The parameter is incorrect ” 错误
经过检查,时因为其中一个参数为 int 类型,数值为 260,原本正常的程序,在添加了 CharSet 后就报错,提示 “The parameter is incorrect” (参数不正确),后面把数值改为 0,程序就允许正常了。
如果你遇到的也是这种情况,原来方法运行正常,但是修改了 DllImport 中的 CharSet 后反而报错,那么你就需要去逐一检查和测试,你传递的参数
真正的原因,我目前还没有找到,不过我猜测可能是因为不同 CharSet 对应的类型的字节不一样导致的问题
相关阅读: