| 272 | } |
| 273 | |
| 274 | Error protect(void* p, size_t size, MemoryFlags memory_flags) noexcept { |
| 275 | DWORD protect_flags = protect_flags_from_memory_flags(memory_flags); |
| 276 | DWORD old_flags; |
| 277 | |
| 278 | if (::VirtualProtect(p, size, protect_flags, &old_flags)) { |
| 279 | return Error::kOk; |
| 280 | } |
| 281 | |
| 282 | return make_error(Error::kInvalidArgument); |
| 283 | } |
| 284 | |
| 285 | Error alloc_dual_mapping(Out<DualMapping> dm, size_t size, MemoryFlags memory_flags) noexcept { |
| 286 | dm->rx = nullptr; |