When did you decide to use unnamed shared memory in windows?
It seems to me that the message passing between the threads is not very useful. Instead, you can pass a pointer to a structure / variable to the worker threads and use it as shared memory instead, rather than calling the CreateFileMapping system call.
source
share