James Hawkins truiken@gmail.com writes:
There are a couple reasons why I chose to add a new request instead of use load_registry. mount_key was written with the restriction that a key can only be loaded under HKLM or HKU, while load_registry (internally) loads a key anywhere. While load_registry wouldn't be called anymore, I thought that it still might be needed...but I agree this isn't a very strong reason to make a new request. load_registry requires that the requested key be created and sent in as a parameter. I think requiring NtLoadKey to create the key is mislocating functionality. NtLoadKey's job is to make the server request with the information provided, and mount_key should create the key. The only way I can think of modifying load_registry to fit the functionality of RegLoadKey/NtLoadKey is to add a char *subkey param to load_registry and then put the tests and create_key in load_registry, but by then we've just renamed mount_key to load_registry and gotten rid of the old load_registry. Let me know what is the best route to take for this circumstance.
load_registry already has the subkey name. The fact that the key is also created on the client side is just a temporary hack that can be removed.