Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Создает программу-оболочку для 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;
}
Иерархия наследования
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.
Доступ к безопасности зависит от параметра 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.