C # ReadProcessMemory: ¿Cómo leer una dirección de memoria de 64 bits?

Me estoy poniendo a leer la memoria de la aplicación. Estoy usando CheatEngine para obtener una dirección de memoria y luego intento devolver su valor. Sin embargo, CheatEngine parece estar devolviendo direcciones de memoria de 64 bits, por lo que mi función ReadProcessMemory sigue diciéndome que no puede convertir un 'largo' a 'int' cada vez que ingreso la dirección. Todos los tutoriales que he encontrado parecen estar basados en direcciones de memoria que son como 00AB5678 pero las que estoy obteniendo son más como D3569227FC.

Entonces mi pregunta es, ¿cómo uso ReadProcessMemory con direcciones de memoria mucho más grandes?

Aquí está mi código:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        const int PROCESS_WM_READ = 0x0010;

        [DllImport("kernel32.dll")]
        public static extern IntPtr OpenProcess(int dwDesiredAccess, bool bInheritHandle, int dwProcessId);

        [DllImport("kernel32.dll")]
        public static extern bool ReadProcessMemory(int hProcess,
        int lpBaseAddress, byte[] lpBuffer, int dwSize, ref int lpNumberOfBytesRead);

        static void Main(string[] args)
        {
            Process process = Process.GetProcessesByName("MyProgram")[0]; 
            IntPtr processHandle = OpenProcess(PROCESS_WM_READ, false, process.Id); 

            int bytesRead = 0;
            byte[] buffer = new byte[24]; //To read a 24 byte unicode string

            ReadProcessMemory((int)processHandle, 0xD5369227FC, buffer, buffer.Length, ref bytesRead);

            Console.WriteLine(Encoding.Unicode.GetString(buffer) + 
                  " (" + bytesRead.ToString() + "bytes)");
            Console.ReadLine();
        }
    }
}

Editar: he convertido mi aplicación C # en una aplicación de 64 bits al ingresar a VS2012 -> Proyecto -> Propiedades de ApplicationName -> Build -> Platform Target -> Cambiar a "x64", ahora solo necesito saber cómo cambiar mi código para leer direcciones de 64 bits.

Respuestas a la pregunta(1)

Su respuesta a la pregunta