This is in preparation of implementing all logic from the server in kernelbase, which is needed because Nt*Key ignores KEY_WOW64_32KEY. Unfortunately this requires a lot of server calls. The full branch can be found here https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-new The old approach that doesn't duplicate code to kernelbase can be found here https://gitlab.winehq.org/sbaars/wine/-/tree/shared-classes-old I ran make_requests by the way, not sure if we should still leave that out with the gitlab workflow. -- v15: kernelbase: Restructure the create_key() loop. kernelbase: Add a fast path to create_key(). kernelbase: Move create_key() below open_key(). kernelbase: Factor opening a subkey out of open_key(). kernelbase: Always try to open the Wow6432Node in open_key(). kernelbase: Restructure the open_key() loop. kernelbase: Pass the key name to create_key(). kernelbase: Pass the root key to create_key(). kernelbase: Pass the key name to open_key(). kernelbase: Pass the root key to open_key(). https://gitlab.winehq.org/wine/wine/-/merge_requests/1445