带有 PAGE_EXECUTE_WRITECOPY 标志的 VirtualProtect
VirtualProtect with PAGE_EXECUTE_WRITECOPY flag
当我尝试在内存页上调用 VirtualProtect
以将其保护标志设置为 PAGE_EXECUTE_WRITECOPY
时,它失败了,错误代码为 ERROR_INVALID_PARAMETER
。如果我用 PAGE_EXECUTE_READ
或 PAGE_EXECUTE_READWRITE
调用它,它会成功。
它失败并显示 PAGE_EXECUTE_WRITECOPY
是否有原因?
标志PAGE_EXECUTE_WRITECOPY
仅对映射文件and/or 剖面视图的区域有效。如果您尝试将该标志应用于正常的内存区域,例如手动分配的虚拟内存或 heap/stack,它将失败。
当我尝试在内存页上调用 VirtualProtect
以将其保护标志设置为 PAGE_EXECUTE_WRITECOPY
时,它失败了,错误代码为 ERROR_INVALID_PARAMETER
。如果我用 PAGE_EXECUTE_READ
或 PAGE_EXECUTE_READWRITE
调用它,它会成功。
它失败并显示 PAGE_EXECUTE_WRITECOPY
是否有原因?
标志PAGE_EXECUTE_WRITECOPY
仅对映射文件and/or 剖面视图的区域有效。如果您尝试将该标志应用于正常的内存区域,例如手动分配的虚拟内存或 heap/stack,它将失败。