Function VirtualProtect [src]

Prototype

pub fn VirtualProtect(lpAddress: ?LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: *DWORD) VirtualProtectError!void

Parameters

lpAddress: ?LPVOIDdwSize: SIZE_TflNewProtect: DWORDlpflOldProtect: *DWORD

Possible Errors

InvalidAddress
Unexpected

Source

pub fn VirtualProtect(lpAddress: ?LPVOID, dwSize: SIZE_T, flNewProtect: DWORD, lpflOldProtect: *DWORD) VirtualProtectError!void { // ntdll takes an extra level of indirection here var addr = lpAddress; var size = dwSize; switch (ntdll.NtProtectVirtualMemory(self_process_handle, &addr, &size, flNewProtect, lpflOldProtect)) { .SUCCESS => {}, .INVALID_ADDRESS => return error.InvalidAddress, else => |st| return unexpectedStatus(st), } }