I have a DLL that uses memory-mapped files to provide data sharing among multiple processes in Windows (C++). Processes that want to read/write data to each other register their window handles with the DLL. When one of them puts data into the share, the others are notified. Any process may read or write data via the DLL.
I'd like to be able to prevent processes from writing to the shared memory until the notification is complete, prevent multiple processes from writing at the same time, etc. It feels like I need a "global mutex", but is there such a thing?
Thanks.