System.EntryPointNotFoundException bei Bindung eines asm64

15/11/2009 - 11:59 von Dieter Bäumler | Report spam
Hi,

wenn ich das folgende Beispiel so assembliere
ml64 myproc.asm /Zf /link /DLL /out:myproc.dll /entry:DllMain /fixed:no

.code
public myproc
DllMain PROC
mov rax, 1
ret
DllMain ENDP
myproc PROC
mov rax,1
ret
myproc ENDP
END


schmeißt das folgende einbindende C# eine System.EntryPointNotFoundException
für die myproc-Funktion -- warum?

namespace cfw
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
Label1.Text = Convert.ToString(UnsafeNativeMethods.myproc());
}
}

internal static class UnsafeNativeMethods
{
const string _dllLocation = "myproc.dll";
[DllImport(_dllLocation)]
public static extern ulong myproc();
}
}

Es ist kein rechtes C#-Problem, da unter VB dasselbe passiert. Könnte mir
aber vorstellen, hier noch am ehesten Antwort zu bekommen.

Grüße, dtr.
 

Lesen sie die antworten

#1 Immo Landwerth
15/11/2009 - 13:28 | Warnen spam
Dieter Bàumler wrote:

wenn ich das folgende Beispiel so assembliere
ml64 myproc.asm /Zf /link /DLL /out:myproc.dll /entry:DllMain /fixed:no

.code
public myproc
DllMain PROC
mov rax, 1
ret
DllMain ENDP
myproc PROC
mov rax,1
ret
myproc ENDP
END


schmeißt das folgende einbindende C# eine
System.EntryPointNotFoundException für die myproc-Funktion -- warum?



Hilft Dir dieser Artikel vielleicht weiter?
http://dcooney.com/ViewEntry.aspx?IDG3T

Vom Überfliegen schaut es aus, als ob Du vergessen hàttest, myproc zu
exportieren.

Immo Landwerth

Ähnliche fragen