Поделиться через


Класс CSettingsStore

Создает программу-оболочку для API-функций Windows, обеспечивая объектно-ориентированный интерфейс, который используется для доступа к реестру.

Синтаксис

class CSettingsStore : public CObject

Участники

Открытые конструкторы

Имя Описание
CSettingsStore::CSettingsStore Формирует объект CSettingsStore.

Открытые методы

Имя Описание
CSettingsStore::Close Закрывает открытый раздел реестра.
CSettingsStore::CreateKey Открывает указанный ключ или создает его, если он не существует.
CSettingsStore::D eleteKey Удаляет указанный ключ и все его дочерние элементы.
CSettingsStore::D eleteValue Удаляет указанное значение открытого ключа.
CSettingsStore::Open Открывает указанный ключ.
CSettingsStore::Read Извлекает данные для указанного значения ключа.
CSettingsStore::Write Записывает значение в реестр под открытым ключом.

Замечания

Функции-члены CreateKey и Open очень похожи. Если раздел реестра уже существует, CreateKey и Open функция выполняется таким же образом. Тем не менее, если раздел реестра не существует, создадит его, CreateKey в то время как Open возвращает значение ошибки.

Пример

В следующем примере показано, как использовать методы Open и Read класса CSettingsStore . Этот фрагмент кода является частью примера демонстрации подсказки инструмента.

CSettingsStore reg(FALSE, TRUE);
DWORD dwEnableBalloonTips = 1;

if (reg.Open(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")) &&
    reg.Read(_T("EnableBalloonTips"), dwEnableBalloonTips))
{
   return dwEnableBalloonTips == 1;
}

Иерархия наследования

CObject

CSettingsStore

Требования

Заголовок: afxsettingsstore.h

CSettingsStore::Close

Закрывает открытый раздел реестра.

virtual void Close();

Замечания

По умолчанию этот метод вызывается из деструктора класса CSettingsStore.

CSettingsStore::CreateKey

Открывает раздел реестра или создает его, если он не существует.

virtual BOOL CreateKey(LPCTSTR pszPath);

Параметры

pszPath
[in] Указывает имя ключа, который нужно создать или открыть.

Возвращаемое значение

Значение 0 в случае успешного выполнения; в противном случае ненулевое значение.

Замечания

CreateKey используется m_hKey в качестве корневого каталога запросов реестра. Он ищет pszPath как вложенный ключ m_hKey. Если ключ не существует, CreateKey создает его. В противном случае он открывает ключ. CreateKey затем задает m_hKey созданный или открытый ключ.

CSettingsStore::CSettingsStore

Создает объект CSettngsStore.

CSettingsStore(
    BOOL bAdmin,
    BOOL bReadOnly);

Параметры

bAdmin
[in] Логический параметр, указывающий, действует ли CSettingsStore объект в режиме администратора.

bReadOnly
[in] Логический параметр, указывающий, создается ли CSettingsStore объект в режиме только для чтения.

Замечания

Если для bAdmin задано значение TRUE, m_hKey переменная-член имеет значение HKEY_LOCAL_MACHINE. Если для bAdmin задано значение FALSE, m_hKey установлено значение HKEY_CURRENT_USER.

Доступ к безопасности зависит от параметра bReadOnly . Если значение bReadonly равно FALSE, для доступа к безопасности будет задано значение KEY_ALL_ACCESS. Если bReadyOnly имеет значение TRUE, то для доступа к безопасности будет задано сочетание KEY_QUERY_VALUE, KEY_NOTIFY и KEY_ENUMERATE_SUB_KEYS. Дополнительные сведения о доступе к безопасности вместе с реестром см. в разделе "Безопасность и права доступа к разделу реестра".

Деструктор для CSettingsStore выпусков m_hKey автоматически.

CSettingsStore::D eleteKey

Удаляет ключ и все дочерние элементы из реестра.

virtual BOOL DeleteKey(
    LPCTSTR pszPath,
    BOOL bAdmin = FALSE);

Параметры

pszPath
[in] Имя ключа для удаления.

bAdmin
[in] Переключатель, указывающий расположение ключа для удаления.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Этот метод завершится ошибкой, если CSettingsStore объект находится в режиме только для чтения.

Если параметр bAdmin равен нулю, DeleteKey выполните поиск ключа для удаления в HKEY_CURRENT_USER. Если bAdmin не является ненулевой, DeleteKey выполняет поиск ключа для удаления в HKEY_LOCAL_MACHINE.

CSettingsStore::D eleteValue

Удаляет значение из m_hKey.

virtual BOOL DeleteValue(LPCTSTR pszValue);

Параметры

pszValue
[in] Указывает поле значения для удаления.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

CSettingsStore::Open

Открывает раздел реестра.

virtual BOOL Open(LPCTSTR pszPath);

Параметры

pszPath
[in] Имя раздела реестра.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

После успешного открытия указанного ключа этот метод задает m_hKey дескриптор этого ключа.

CSettingsStore::Read

Считывает значение из раздела в реестре.

virtual BOOL Read(
    LPCTSTR pszKey,
    int& iVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    DWORD& dwVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    CString& sVal);

virtual BOOL Read(
    LPCTSTR pszKey,
    CStringList& scStringList);

virtual BOOL Read(
    LPCTSTR pszKey,
    CStringArray& scArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CDWordArray& dwcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CWordArray& wcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    CByteArray& bcArray);

virtual BOOL Read(
    LPCTSTR pszKey,
    LPPOINT& lpPoint);

virtual BOOL Read(
    LPCTSTR pszKey,
    CRect& rect);

virtual BOOL Read(
    LPCTSTR pszKey,
    BYTE** ppData,
    UINT* pBytes);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObList& list);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObject& obj);

virtual BOOL Read(
    LPCTSTR pszKey,
    CObject*& pObj);

Параметры

pszKey
[in] Указатель на строку, завершающуюся значением NULL, которая содержит имя значения для чтения из реестра.

iVal
[out] Ссылка на целочисленную переменную, которая получает значение, считываемое из раздела реестра.

dwVal
[out] Ссылка на 32-разрядную переменную word, которая получает значение, считываемое из раздела реестра.

sVal
[out] Ссылка на строковую переменную, которая получает значение, считываемое из раздела реестра.

scStringList
[out] Ссылка на переменную списка строк, которая получает значение, считываемое из раздела реестра.

scArray
[out] Ссылка на переменную массива строк, которая получает значение, считываемое из раздела реестра.

dwcArray
[out] Ссылка на 32-разрядную переменную массива слов, которая получает значение, считываемое из раздела реестра.

wcArray
[out] Ссылка на 16-разрядную переменную массива слов, которая получает значение, считываемое из раздела реестра.

bcArray
[out] Ссылка на переменную массива байтов, которая получает значение, считываемое из раздела реестра.

lpPoint
[out] Ссылка на указатель на POINT структуру, которая получает значение, считываемое из раздела реестра.

rect
[out] Ссылка на переменную CRect , которая получает значение, считываемое из раздела реестра.

ppData
[out] Указатель на указатель на данные, получающие значение, считываемое из раздела реестра.

pBytes
[out] Указатель на переменную целого числа без знака. Эта переменная получает размер буфера, на который указывает ppData .

список
[out] Ссылка на переменную CObList , которая получает значение, считываемое из раздела реестра.

obj
[out] Ссылка на переменную CObject , которая получает значение, считываемое из раздела реестра.

pObj
[out] Ссылка на указатель CObject на переменную, которая получает значение, считываемое из раздела реестра.

Возвращаемое значение

Имеет ненулевое значение в случае успешного выполнения, иначе — 0.

Замечания

Read проверяет наличие pszKey в виде подключа m_hKey.

CSettingsStore::Write

Записывает значение в реестр под открытым ключом.

virtual BOOL Write(
    LPCTSTR pszKey,
    int iVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    DWORD dwVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPCTSTR pszVal);

virtual BOOL Write(
    LPCTSTR pszKey,
    CStringList& scStringList);

virtual BOOL Write(
    LPCTSTR pszKey,
    CByteArray& bcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CStringArray& scArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CDWordArray& dwcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    CWordArray& wcArray);

virtual BOOL Write(
    LPCTSTR pszKey,
    const CRect& rect);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPPOINT& lpPoint);

virtual BOOL Write(
    LPCTSTR pszKey,
    LPBYTE pData,
    UINT nBytes);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObList& list);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObject& obj);

virtual BOOL Write(
    LPCTSTR pszKey,
    CObject* pObj);

Параметры

pszKey
[in] Указатель на строку, содержащую имя заданного значения.

iVal
[in] Ссылка на целочисленную переменную, содержащую данные для хранения.

dwVal
[in] Ссылка на 32-разрядную переменную слова, содержащую данные для хранения.

pszVal
[in] Указатель на переменную строки, завершающую значение NULL, содержащую данные для хранения.

scStringList
[in] Ссылка на переменную CStringList , содержащую данные для хранения.

bcArray
[in] Ссылка на переменную массива байтов, содержащую данные для хранения.

scArray
[in] Ссылка на переменную массива строк, содержащую данные для хранения.

dwcArray
[in] Ссылка на 32-разрядную переменную массива слов, содержащую данные для хранения.

wcArray
[in] Ссылка на 16-разрядную переменную массива слов, содержащую данные для хранения.

rect
[in] Ссылка на переменную CRect , содержащую данные для хранения.

lpPoint
[in] Ссылка на указатель POINT на переменную, содержащую данные для хранения.

pData
[in] Указатель на буфер, содержащий данные для хранения.

nBytes
[in] Задает размер в байтах данных, к которым указывает точка параметра pData .

список
[in] Ссылка на переменную CObList , содержащую данные для хранения.

obj
[in] Ссылка на переменную CObject , содержащую данные для хранения.

pObj
[in] Указатель на CObject переменную, содержащую данные для хранения.

Возвращаемое значение

Значение TRUE, если успешно; в противном случае — FALSE.

Замечания

Чтобы записать в реестр, необходимо задать значение bReadOnly ненулевому значению при создании объекта CSettingsStore . Дополнительные сведения см. в разделе CSettingsStore::CSettingsStore.

См. также

Диаграмма иерархии
Классы
Класс CWinAppEx