class WinRegistryConfiguration

Library: Util
Package: Windows
Header: Poco/Util/WinRegistryConfiguration.h


An implementation of AbstractConfiguration that stores configuration data in the Windows registry.

Removing key is not supported. An attempt to remove a key results in a NotImplementedException being thrown.


Direct Base Classes: AbstractConfiguration

All Base Classes: Poco::RefCountedObject, AbstractConfiguration

Member Summary

Member Functions: convertToRegFormat, enumerate, getRaw, removeRaw, setRaw

Inherited Functions: createLocalView, createView, duplicate, enableEvents, enumerate, eventsEnabled, expand, getBool, getDouble, getInt, getInt16, getInt32, getInt64, getRaw, getRawString, getString, getUInt, getUInt16, getUInt32, getUInt64, has, hasOption, hasProperty, keys, parseBool, parseInt, parseInt16, parseInt64, parseUInt, parseUInt16, parseUInt64, referenceCount, release, remove, removeRaw, setBool, setDouble, setInt, setInt16, setInt32, setInt64, setRaw, setRawWithEvent, setString, setUInt, setUInt16, setUInt32, setUInt64



    const std::string & rootPath,
    REGSAM extraSam = 0

Creates the WinRegistryConfiguration. The rootPath must start with one of the root key names like HKEY_CLASSES_ROOT, e.g. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. All further keys are relative to the root path and can be dot separated, e.g. the path MyService.ServiceName will be converted to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\ServiceName. The extraSam parameter will be passed along to WinRegistryKey, to control registry virtualization for example.


~WinRegistryConfiguration protected virtual


Destroys the WinRegistryConfiguration.

Member Functions

convertToRegFormat protected

std::string convertToRegFormat(
    const std::string & key,
    std::string & keyName
) const;

Takes a key in the format of A.B.C and converts it to registry format A\B\C, the last entry is the keyName, the rest is returned as path

enumerate protected virtual

void enumerate(
    const std::string & key,
    Keys & range
) const;

getRaw protected virtual

bool getRaw(
    const std::string & key,
    std::string & value
) const;

removeRaw protected virtual

void removeRaw(
    const std::string & key

setRaw protected virtual

void setRaw(
    const std::string & key,
    const std::string & value