【发布时间】:2014-04-11 17:54:26
【问题描述】:
ReadProcessMemory() 和 WriteProcessMemory() 在从正确对齐的内存位置读取/写入机器字(32 位模式下为 32 位,64 位模式下为 64 位)时是原子的吗?
PS。 SO中有一个标签“readprocessmemory”,但没有标签“writeprocessmemory”。也许它应该由拥有足够权限的人创建?
【问题讨论】:
-
Windows 不提供任何保证。仍然是原子的,处理器保证它。无法保证进程中的代码实际上可以看到更新,您在完全没有任何同步的情况下戳内存。除非你添加它。
-
没有原子性保证。它可以合法地逐字节复制内存。 (对于小型缓冲区,它可能会。)
标签: winapi