We probably don't need `SHARED_READ_BEGIN` from the server side, but why is this the case?
The server doesn't need it because the shared memory is only ever written from the server side, which is also single threaded?
Is it a good idea to disable root object type check completely if the name is `__wine_mapping`? What if we open-coded in `DECL_HANDLER(open_mapping)` instead? Would that hurt readability much?
Not sure exactly what you meant by object type check but I did something like that instead, which saves the need for custom lookup_name implementations, and uses a new `get_object_mapping` ops. I think it makes things more clear and the mapping object type is obviously checked by the function signature.