Hallo Leute,
ich habe grade mal versucht in einer 64 bit Anwendung mit CreateThread() einen neuen Thread zu starten. Unter 32 bit funktioniert folgender Code:
Delphi-Quellcode:
function DummyThread(Parameter: Pointer): DWord; stdcall;
begin
Result := 0;
end;
CreateRemoteThread(hProcess, nil, 0, @DummyThread, nil, 0, TID);
Unter 64 bit führt der Aufruf allerdings direkt zum Crash. Wenn ich innerhalb des Threads einen Breakpoint setze, dann sehe ich, dass auch der Parameter Pointer komplett falsch ist. Irgendwie wird also der Stack corrupted.
Muss ich unter 64 bit da eine andere Aufrufkonvention als stdcall angeben?
Viele Grüße
Zacherl