Function VirtualProtectEx [src]

Prototype

pub fn VirtualProtectEx(handle: HANDLE, addr: ?LPVOID, size: SIZE_T, new_prot: DWORD) VirtualProtectError!DWORD

Parameters

handle: HANDLEaddr: ?LPVOIDsize: SIZE_Tnew_prot: DWORD

Possible Errors

InvalidAddress
Unexpected

Source

pub fn VirtualProtectEx(handle: HANDLE, addr: ?LPVOID, size: SIZE_T, new_prot: DWORD) VirtualProtectError!DWORD { var old_prot: DWORD = undefined; var out_addr = addr; var out_size = size; switch (ntdll.NtProtectVirtualMemory( handle, &out_addr, &out_size, new_prot, &old_prot, )) { .SUCCESS => return old_prot, .INVALID_ADDRESS => return error.InvalidAddress, // TODO: map errors else => |rc| return unexpectedStatus(rc), } }