Hallo, guten Tag. hSArray = GlobalAlloc(memBlockSize) ptrSarray = GlobalLock( hSArray ) Ich möchte bitte ab Adresse von memBlockSize mit ASM Daten dort reinbringen. Es ist eine DLL. Wie geht das bitte mit ASM? Danke. -------------------------- Function GlobalAlloc( dwBytes ) CallDLL #kernel, "GlobalAlloc", _GMEM_MOVEABLE As long, dwBytes As ulong, GlobalAlloc As long End Function Function GlobalLock( hMem ) CallDLL #kernel, "GlobalLock", hMem As long, GlobalLock As long End Function Function GlobalFree( hMem ) CallDLL #kernel, "GlobalFree", hMem As ulong, GlobalFree As long End Function ---------------------------
:
Bearbeitet durch User
Peter B. schrieb: > Ich möchte bitte ab Adresse von memBlockSize memBlockSize ist keine Adresse, sondern eine Größenangabe. Warum willst Du ausgerechnet mit Assembler irgendwas irgendwo "reinbringen", wenn Du noch nicht mal verstehst, was die Funktionen da tun?
Natürlich ist das nicht die Adresse. Es geht um die Adresse vom Speicher. Warum die Gegenfrage? Wenn du eine Toilette suchst bei mir dann Frage ich auch nicht : dünne Soße oder harte Sachen auf meine Toilette. Ich helfe dann Einfach.
:
Bearbeitet durch User
Peter B. schrieb: > Es geht um die Adresse vom Speicher. Ja? Und? Wenn Du verstehen würdest, was die beiden Funktionen GlobalAlloc und GlobalLock machen, dann müsstest Du diese Frage nicht stellen. Du kannst ja mal in die Dokumentation reinsehen: https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc und https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-locallock Wie jemand, der das nicht von selbst auf die Reihe bekommt, dann irgendwas "mit ASM dort reinbringen" will, ist mir wirklich vollkommen schleierhaft.
funkheld schrieb: > Warum die Gegenfrage? > Wenn du eine Toilette suchst bei mir dann Frage ich auch nicht : dünne > Soße oder harte Sachen auf meine Toilette. Selbst wenn ich dabei ne knatternde Kettensäge in der Hand habe? Was du fragst klingt so abstrus, da kann man nur Antworten "ergibt keinen Sinn". Und nicht alle haben Lust dazu, dir die Salamischeiben einzeln aus der Nase zu ziehen, insb wenn sie den Eindruck haben, dass du das Problem/die Antworten eh nicht verstehen würdest. Die Funktion, um eine DLL in den Speicher zu bekommen, heißt LoadLibrary. Wenn du die nachprogrammieren willst, schau in den Quellcode von Wine.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.