Ich merke gerade, SirThornberry's Einwurf war nicht ganz korrekt. Die Speicheradresse ist DWord nur der Wert eben nicht.
Zitat von
hedie:
64 Bit Programm Code ist?
Nein, der bleibt bei 32bit. Es ging um den Datentyp.
Zitat von
hedie:
Delphi-Quellcode:
procedure UpdateOffset(var lpBuffer: Pointer; dwFileOffset: Cardinal; Value: DWORD); overload;
begin
PDWORD(Cardinal(lpBuffer) + dwFileOffset)^ := Value;
end;
UpdateOffset(lpBuffer, dwFileOffset, $01004B212405C6);
Deine Procedure nimmt maximal DWord, Du übergibst aber Int64.