dxd - dynax driver framework 2.5.0d148
cross platform open source driver development framework
Loading...
Searching...
No Matches
dx::registry Class Reference

hierarchical Windows registry access More...

#include <dx_registry.h>

+ Inheritance diagram for dx::registry:

Protected Types

enum class  type : ::DWORD {
  undefined = REG_NONE , uint32 = REG_DWORD , uint64 = REG_QWORD , string = REG_SZ ,
  vendor = REG_BINARY
}
 

Protected Member Functions

dx_catchall_rethrow() class iterator iterator begin () const
 
 dx_catchall_rethrow () std
 
 dx_catchall_rethrow () ~registry() noexcept
 
iterator end () const
 
registryerase (const char *subkey=nullptr) try
 
registryinitialize (const std::string &key, ::HKEY root=HKEY_CURRENT_USER, ::REGSAM rights=KEY_ALL_ACCESS) try
 
registryinitialize (const std::string &key, ::REGSAM rights, ::HKEY root, const char *path=nullptr) try
 
std::string key_from_index (size_t index) const try
 
dx_catchall_rethrow() registry &initializeoperator keys () const noexcept
 
registryoperator= (const registry &registry) try
 
 registry (::HKEY root, ::REGSAM rights=KEY_ALL_ACCESS)
 
 registry (::REGSAM rights, ::HKEY root=HKEY_CURRENT_USER)
 
 registry (const registry &registry)
 
 registry (const registry &registry, const std::string &key)
 
 registry (const std::string &key, ::HKEY root, ::REGSAM rights=KEY_ALL_ACCESS)
 
 registry (const std::string &key={}, ::REGSAM rights=KEY_ALL_ACCESS, ::HKEY root=HKEY_CURRENT_USER)
 

Detailed Description

hierarchical Windows registry access

On traversal it converts it's root HKey with the stored key into a new HKey becoming the new root HKey. On copy construction it generates a new HKey for the same root key to circumvent missing reference counting.

Member Enumeration Documentation

◆ type

enum class dx::registry::type : ::DWORD
strongprotected
Enumerator
undefined 
uint32 
uint64 
string 
vendor 

Constructor & Destructor Documentation

◆ registry() [1/6]

dx::registry::registry ( const std::string & key = {},
::REGSAM rights = KEY_ALL_ACCESS,
::HKEY root = HKEY_CURRENT_USER )
inlineprotected

◆ registry() [2/6]

dx::registry::registry ( const std::string & key,
::HKEY root,
::REGSAM rights = KEY_ALL_ACCESS )
inlineprotected
+ Here is the call graph for this function:

◆ registry() [3/6]

dx::registry::registry ( ::REGSAM rights,
::HKEY root = HKEY_CURRENT_USER )
inlineprotected
+ Here is the call graph for this function:

◆ registry() [4/6]

dx::registry::registry ( ::HKEY root,
::REGSAM rights = KEY_ALL_ACCESS )
inlineprotected
+ Here is the call graph for this function:

◆ registry() [5/6]

dx::registry::registry ( const registry & registry)
inlineprotected
+ Here is the call graph for this function:

◆ registry() [6/6]

dx::registry::registry ( const registry & registry,
const std::string & key )
inlineprotected
+ Here is the call graph for this function:

Member Function Documentation

◆ begin()

dx_catchall_rethrow() class iterator iterator dx::registry::begin ( ) const
inlineprotected

◆ dx_catchall_rethrow() [1/2]

dx::registry::dx_catchall_rethrow ( )
inlineprotected

◆ dx_catchall_rethrow() [2/2]

dx::registry::dx_catchall_rethrow ( )
inlineprotectednoexcept

◆ end()

iterator dx::registry::end ( ) const
inlineprotected

◆ erase()

registry & dx::registry::erase ( const char * subkey = nullptr)
inlineprotected
Todo
registry::erase(): investigate why it's not working
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initialize() [1/2]

registry & dx::registry::initialize ( const std::string & key,
::HKEY root = HKEY_CURRENT_USER,
::REGSAM rights = KEY_ALL_ACCESS )
inlineprotected
+ Here is the call graph for this function:

◆ initialize() [2/2]

registry & dx::registry::initialize ( const std::string & key,
::REGSAM rights,
::HKEY root,
const char * path = nullptr )
inlineprotected
+ Here is the caller graph for this function:

◆ key_from_index()

std::string dx::registry::key_from_index ( size_t index) const
inlineprotected

◆ operator keys()

dx_catchall_rethrow() registry &initialize( dx::registry::operator keys ( ) const
inlineprotectednoexcept

◆ operator=()

registry & dx::registry::operator= ( const registry & registry)
inlineprotected
+ Here is the call graph for this function:

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on Fri Aug 22 2025

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.