无法加载 DLL“LicenseCheck.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

c++代码用于生成一个DLL,里面有函数boolCheckLicense(char*pLicPath,int&nModulID){...}我现在用c#调用dll[DllI... c++代码用于生成一个DLL,里面有函数
bool CheckLicense(char* pLicPath,int& nModulID)
{
...
}

我现在用c#调用dll
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(ref string pLicPath, ref int nModulID);

提示上面的错误!

哪位能帮我这个小忙,解解惑
补充:
c#中对应的CheckLicense后面的参数应该怎么写呢?像上面这样写对吗?
sunzhenlinzz回答是差不多正确的
但是现在出现一个新的问题:
尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
c#中的代码修改为:
[DllImport("LicenseCheck.dll")]
public static extern bool CheckLicense(string pLicPath, int nModulID);
public void NewProject()
{
bool LicenseIsGood = CheckLicense(System.Windows.Forms.Application.StartupPath, 0);//出错
...
}
展开
 我来答
sunzhenlinzz
2010-06-13 · TA获得超过650个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:177万
展开全部
怀疑是路径问题世肢,没有找到该DLL,检查下和渗LicenseCheck.dll放什么地方了。
新问题是搜棚世内存问题,c++ 中和c#中的类型在占用内存空间是不一样的,将"int nModulID" 改为"Int16 nModulID"试试好使不。
或者改为Int64 nModulID
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式