首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用dllimport

使用dllimport
EN

Stack Overflow用户
提问于 2009-10-12 12:38:32
回答 2查看 1.1K关注 0票数 2

我尝试在以下代码中使用DllImport属性:

代码语言:javascript
复制
[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4")]
public static extern int startenroll(int context);

为了获得函数名,我使用了dumpbin /export。当我运行代码时,我得到了以下异常:

Unable to find an entry point name '_grstartenroll@4' in DLL 'grfinger.dll'

如何解决此错误?

EN

回答 2

Stack Overflow用户

发布于 2009-10-12 13:13:07

_grstartenroll@4是动态链接库中的decorated function name

这看起来像标准的调用约定命名,您可以尝试:

代码语言:javascript
复制
[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4", CallingConvention=CallingConvention.StdCall]
public static extern int startenroll(int context);

否则,我将尝试获取未修饰的函数名,您可以通过管道将dumpbin的输出传递给undname,如下所示:

dumpbin /exports grfinger.dll |未命名_grstartenroll@4

然后在dll导入中使用未修饰的函数名。

票数 5
EN

Stack Overflow用户

发布于 2009-10-12 13:00:04

在不了解特定函数或库的情况下:我认为将入口点指定为entrypoint="startenroll"entrypoint="#4"而不是垃圾箱输出可能会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1554353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档