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.
精彩评论