This commit is contained in:
Igor Pavlov
2003-12-11 00:00:00 +00:00
committed by Kornel Lesiński
commit 8c1b5c7b7e
982 changed files with 118799 additions and 0 deletions

65
Windows/Registry.h Executable file
View File

@@ -0,0 +1,65 @@
// Windows/Registry.h
#pragma once
#ifndef __WINDOWS_REGISTRY_H
#define __WINDOWS_REGISTRY_H
#include "Common/Buffer.h"
#include "Common/String.h"
namespace NWindows {
namespace NRegistry {
const TCHAR kKeyNameDelimiter = TEXT('\\');
LONG SetValue(HKEY parentKey, LPCTSTR keyName,
LPCTSTR valueName, LPCTSTR value);
class CKey
{
HKEY _object;
public:
CKey(): _object(NULL) {}
~CKey();
operator HKEY() const { return _object; }
HKEY Detach();
void Attach(HKEY key);
LONG Create(HKEY parentKey, LPCTSTR keyName,
LPTSTR keyClass = REG_NONE, DWORD options = REG_OPTION_NON_VOLATILE,
REGSAM accessMask = KEY_ALL_ACCESS,
LPSECURITY_ATTRIBUTES securityAttributes = NULL,
LPDWORD disposition = NULL);
LONG Open(HKEY parentKey, LPCTSTR keyName,
REGSAM accessMask = KEY_ALL_ACCESS);
LONG Close();
LONG DeleteSubKey(LPCTSTR subKeyName);
LONG RecurseDeleteKey(LPCTSTR subKeyName);
LONG DeleteValue(LPCTSTR value);
LONG SetValue(LPCTSTR valueName, UINT32 value);
LONG SetValue(LPCTSTR valueName, bool value);
LONG SetValue(LPCTSTR valueName, LPCTSTR value);
LONG SetValue(LPCTSTR valueName, const CSysString &value);
LONG SetValue(LPCTSTR valueName, const void *value, UINT32 size);
LONG SetKeyValue(LPCTSTR keyName, LPCTSTR valueName, LPCTSTR value);
LONG QueryValue(LPCTSTR valueName, UINT32 &value);
LONG QueryValue(LPCTSTR valueName, bool &value);
LONG QueryValue(LPCTSTR valueName, LPTSTR value, UINT32 &dataSize);
LONG QueryValue(LPCTSTR valueName, CSysString &value);
LONG QueryValue(LPCTSTR valueName, void *value, UINT32 &dataSize);
LONG QueryValue(LPCTSTR valueName, CByteBuffer &value, UINT32 &dataSize);
LONG EnumKeys(CSysStringVector &keyNames);
};
}}
#endif