当我尝试在内存页面上调用VirtualProtect
并将其保护标志设置为PAGE_EXECUTE_WRITECOPY
时,它失败,并显示错误代码ERROR_INVALID_PARAMETER
。如果我用PAGE_EXECUTE_READ
或PAGE_EXECUTE_READWRITE
调用它,则会成功。
是否由于PAGE_EXECUTE_WRITECOPY
而失败?
答案 0 :(得分:1)
标志PAGE_EXECUTE_WRITECOPY
仅对映射文件和/或剖面图的区域有效。如果您尝试将该标志应用于正常的内存区域(例如手动分配的虚拟内存或堆/堆栈),它将失败。