Assembler: ThreadID
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
adresse
array
aufgefallen
befehl
blocken
code
eintragen
frage
funktion
hand
infinite code
mache
machen
null
richtige adresse
speichern
stehen
windows
-
Hi,
und wieder einmal habe ich eine Frage zur Asemblerprogrammierung. Und zwar mache ich mit der Windows-Funktion
invoke CreateThread, NULL, 0, ADDR ReOrder_Thread, edi, 0, [RO_ThreadID+ebx]
einen Thread auf, der später mittels
invoke WaitForMultipleObjects, Threads, ADDR RO_ThreadID, TRUE, INFINITE
wieder aus dem Speicher entfernt werden soll.
Leider wird der Thread nicht beendet, da WaitForMultipleObjects im Array RO_ThreadID keine gültigen Thread IDs finden kann. Mittels Debugger ist mir dann aufgefallen, dass an der Adresse wo das Array beginnt nur Nullen im Speicher stehen und keine IDs. Bei CreateThread jedoch wurde die richtige Adresse für das Array übertragen.
Meine Frage ist nun, ob man die ThreadID von Hand in das Array schreiben muss oder ob Windows dies von selbst macht. (Im Data-Block des Threads steht eine ThreadID drin. Da der Speicherbereich aber verm. zufällig gewählt wurde, kann ich keinen Befehl eintragen der mir diesen ausließt und in das ThreadID-Array schreibt)
Gruß
DCBlaze -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage