码迷,mamicode.com
首页 > Windows程序 > 详细

C# DllImport 方法,出现 The parameter is incorrect 错误

时间:2020-05-16 20:29:18      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:调用   param   文件路径   建议   title   overflow   一个   使用   auto   

最近使用 C# 调用 dll 中的方法,本来允许的好好的,
不过因为后面为了兼容不同的文件路径,就在标注上添加了 CharSet = CharSet.Auto,

添加后,方法一调用就报错,提示 “The parameter is incorrect” (该参数不正确)。

既然系统提示参数不正确,那肯定时传递的参数出问题了,
我遇到的问题是,其中一个参数为 int 类型,数值为 260,后面把数值改为 0 就可以正常运行了。

我猜测是添加了 CharSet = CharSet.Auto, int 类型所占的宽度不一样了,所以原来运行正常的方法会报错。

这个问题的真正原因我目前没有找到,不过如果你们遇到相同的问题时,我给的建议是:
1.如果方法参数中有 int 类型的,优先检查;

2.逐个参数测试,传入一些特殊或者边界的值去测试,找出造成问题的那个参数,然后尝试更换参数的值;

3.上 StackOverflow.com 去找答案

C# DllImport 方法,出现 The parameter is incorrect 错误

标签:调用   param   文件路径   建议   title   overflow   一个   使用   auto   

原文地址:https://www.cnblogs.com/tommy-huang/p/12901786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!