Add open_current_user_key registry helpers - #639
Open
Ben Hillis (benhillis) wants to merge 1 commit into
Open
Conversation
Ben Hillis (benhillis)
force-pushed
the
reg-open-current-user
branch
from
June 12, 2026 15:44
37eecae to
82e496a
Compare
Ben Hillis (benhillis)
marked this pull request as ready for review
June 18, 2026 17:22
Jon Wiswall (jonwis)
approved these changes
Jul 4, 2026
| * @return A wil::shared_hkey containing the resulting opened HKEY | ||
| * @exception std::exception (including wil::ResultException) will be thrown on all failures | ||
| */ | ||
| inline ::wil::shared_hkey open_current_user_shared_key(::wil::reg::key_access access = ::wil::reg::key_access::read) |
Member
There was a problem hiding this comment.
No change required - are there other examples of duplicating the shared/unique overloads? You should always be able to transfer a unique into a shared if necessary.
Member
Author
There was a problem hiding this comment.
Good question - let me check...
Duncan Horn (dunhor)
approved these changes
Jul 6, 2026
Ben Hillis (benhillis)
force-pushed
the
reg-open-current-user
branch
from
July 27, 2026 20:48
c792d9d to
61b145e
Compare
Add wil::reg::open_current_user_key[_nothrow] (and shared_hkey variants gated on __WIL_WINREG_STL) wrapping RegOpenCurrentUser, which resolves the HKEY_CURRENT_USER subtree for the user the calling thread is impersonating rather than the process user. Follows the existing nothrow-core plus throwing-wrapper pattern and adds RegistryTests coverage. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Ben Hillis (benhillis)
force-pushed
the
reg-open-current-user
branch
from
July 27, 2026 21:20
61b145e to
f442d16
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
wil::reg::open_current_user_key[_nothrow]and the shared-key variants, wrapping RegOpenCurrentUser. Includes Catch2[registry]tests (read/write through the hive and read-only enforcement via a directly-written read-only handle) passing in normal & noexcept configs. Part of enabling WSL to drop its in-house registry helper in favor of wil::reg.