Das Problem ist das deine Lib nicht für 64Bit gedacht ist.
das H steht dafür das die Nachfolgende Zahl Hexadezimal ist. Sonst könnte nicht unterschieden werden zwischen 0x11(Hexadezimal) und 11(Dezimal)
Das Problem hier ist das du gerade versuchst 20 Liter Wasser in nen 10 Liter Eimer zu packen.
Integer was hier ein INT32 sein dürfte, sind 32Bit
heißt er kann alle Zahlen darstellen die er mit 32Bit speichern kann.
Da deine Adresse über den zahlenraum hinausgeht motzt er.
Würde dir denk wenig bringen wenn man nun einfach was zum C&P hinschmeisst. Dir fehlt für den Moment noch ein wenig zusehr das Verständis dafür was du gerade machst.
Ich würde empfehlen
1. Schnapp dir irgendein Buch und lies das Kapitel über Variablen Typen, dürfte eins der ersten drei sein im Normalfall.
2. Du arbeitest hier mit der Windows API (WriteProcessMemory, was eine Funktion in kernel32 ist, kannst du oben bei Declaration sehn)
Immer wenn du mit der WindowsAPI arbeitest, suche auf MSDN nach der Function. Das sollte im normalfall fast alle Fragen beantworten.