title: Are Interlocked* functions useful on shared memory?
body: <p>Two Windows processes have memory mapped the same shared file.  If the file consists of counters, is it appropriate to use the <code>Interlocked*</code> functions (like <code>InterlockedIncrement</code>) to update those counters?  Will those synchronize access across processes?  Or do I need to use something heavier, like a mutex?  Or perhaps the shared-memory mechanism itself ensures consistent views.</p>