开发者

using dllimport

开发者 https://www.devze.com 2022-12-08 20:58 出处:网络
I\'m trying to use the Dl开发者_JS百科lImport attribute in the following code: [DllImport(\"grfinger.dll\",EntryPoint=\"_grstartenroll@4\")]

I'm trying to use the Dl开发者_JS百科lImport 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?


_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.


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消