public void Dispose() { if (this.handle != System.IntPtr.Zero) { Kernel32.CloseHandle(this.handle); this.handle = System.IntPtr.Zero; } }
public InitializerFromProcess(ProcessMemory mem, Process proc) { mem.process = proc; handle = Kernel32.OpenProcess( Kernel32.PROCESS.VM_OPERATION | Kernel32.PROCESS.VM_READ | Kernel32.PROCESS.VM_WRITE, false, proc.Id); mem.handle = handle; }
public int Resume() { if (this.suspend <= 0) { return(0); } this.suspend--; return(Kernel32.ResumeThread(this.handle)); }
public unsafe int ReadMemory(void *address, void *buffer, int size) { if (!this.Available) { return(0); } int ret; Kernel32.ReadProcessMemory(this.handle, address, buffer, size, &ret); return(ret); }
public void Dispose() { this.ClearSuspend(); if (this.handle != System.IntPtr.Zero) Kernel32.CloseHandle(this.handle); }
public int ForceResume() { return(Kernel32.ResumeThread(this.handle)); }
public int ForceSuspend() { return(Kernel32.SuspendThread(this.handle)); }
public int Suspend() { this.suspend++; return(Kernel32.SuspendThread(this.handle)); }
public Thread(int id) { this.handle = Kernel32.OpenThread(Kernel32.THREAD.SUSPEND_RESUME, false, id); }