This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author eryksun
Recipients ZackerySpytz, docs@python, eryksun, georgefischhof, paul.moore, steve.dower, tim.golden, xtreak, zach.ware
Date 2021-02-16.01:03:00
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1613437381.42.0.933397197731.issue35026@roundup.psfhosted.org>
In-reply-to
Content
winreg.DeleteKey[Ex] does not require any particular access on the `key` handle. This handle is used only as the native NT API RootDirectory [1] when opening `subkey` with DELETE access via NtOpenKeyEx [2].

The extra access with winreg.DeleteKeyEx [3] is just to allow explicitly using the 32-bit or 64-bit registry view (i.e. KEY_WOW64_32KEY or KEY_WOW64_64KEY) when traversing the registry. I think this should be clarified in the docs. For example, if you have the predefined handle HKEY_LOCAL_MACHINE as the `key` handle, then deleting r"Software\Spam" will default to traversing the process 32- or 64-bit view of the "Software" key, but you can override the default view. (Note that if you start from a handle for the "Software" key, then setting an explicit view in the access mode doesn't matter since "Software" isn't traversed to reach "Spam" in this case.) 

winreg.DeleteKeyEx uses KEY_WOW64_64KEY as the default `access` mode. I think this is a mistake. It should default to 0, and thus implicitly traverse the process view from the path of the `key` handle. A 32-bit process should not default to traversing the 64-bit registry view.

---
[1] https://docs.microsoft.com/en-us/windows/win32/api/ntdef/ns-ntdef-_object_attributes
[2] https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-zwopenkeyex
[3] https://docs.microsoft.com/en-us/windows/win32/api/winreg/nf-winreg-regdeletekeyexw
History
Date User Action Args
2021-02-16 01:03:01eryksunsetrecipients: + eryksun, paul.moore, tim.golden, docs@python, zach.ware, steve.dower, georgefischhof, ZackerySpytz, xtreak
2021-02-16 01:03:01eryksunsetmessageid: <1613437381.42.0.933397197731.issue35026@roundup.psfhosted.org>
2021-02-16 01:03:01eryksunlinkissue35026 messages
2021-02-16 01:03:00eryksuncreate