使用dll导入

发布于 2024-08-07 16:44:14 字数 310 浏览 9 评论 0原文

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

[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4")]
public static extern int startenroll(int context);

获取我使用 dumpbin /export 的函数名称。当我运行代码时,出现以下异常:

无法在 DLL“grfinger.dll”中找到入口点名称“_grstartenroll@4”

我该如何解决这个错误?

I'm trying to use the DllImport attribute in the following code:

[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4")]
public static extern int startenroll(int context);

to get the function name I used dumpbin /export. When I run the code I get the following exception:

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

How can I resolve this error?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

动听の歌 2024-08-14 16:44:14

_grstartenroll@4 是 dll 中的修饰函数名称

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

[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4", CallingConvention=CallingConvention.StdCall]
public static extern int startenroll(int context);

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

dumpbin /导出 grfinger.dll |
undname _grstartenroll@4

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

_grstartenroll@4 is the decorated function name in the dll.

That looks like standard calling convention naming, you could try:

[DllImport("grfinger.dll",EntryPoint="_grstartenroll@4", CallingConvention=CallingConvention.StdCall]
public static extern int startenroll(int context);

Otherwise I would try and get the undecorated function name, you can pipe the output of dumpbin to undname like this:

dumpbin /exports grfinger.dll |
undname _grstartenroll@4

and then use the undecorated function name in your dll import.

凝望流年 2024-08-14 16:44:14

在不了解有关特定函数或库的任何信息的情况下:我相信将入口点指定为 entrypoint="startenroll"entrypoint="#4" 而不是 dumpbin 输出可能会有所帮助。

Without knowning anything about the specific function or library: I believe specifying the entrypoint as entrypoint="startenroll" or entrypoint="#4" instead of the dumpbin output might help.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文