具有PAGE_EXECUTE_WRITECOPY标志的VirtualProtect

时间:2018-12-08 09:06:01

标签: c++ winapi virtual-memory

当我尝试在内存页面上调用VirtualProtect并将其保护标志设置为PAGE_EXECUTE_WRITECOPY时,它失败,并显示错误代码ERROR_INVALID_PARAMETER。如果我用PAGE_EXECUTE_READPAGE_EXECUTE_READWRITE调用它,则会成功。

是否由于PAGE_EXECUTE_WRITECOPY而失败?

1 个答案:

答案 0 :(得分:1)

标志PAGE_EXECUTE_WRITECOPY仅对映射文件和/或剖面图的区域有效。如果您尝试将该标志应用于正常的内存区域(例如手动分配的虚拟内存或堆/堆栈),它将失败。