CSettingsStore (clase)
Incluye las funciones API de Windows, proporcionando una interfaz orientada a objetos que se utiliza para tener acceso al registro.
Sintaxis
class CSettingsStore : public CObject
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CSettingsStore::CSettingsStore | Construye un objeto CSettingsStore . |
Métodos públicos
Nombre | Descripción |
---|---|
CSettingsStore::Close | Cierra la clave del Registro abierta. |
CSettingsStore::CreateKey | Abre la clave especificada o la crea si no existe. |
CSettingsStore::DeleteKey | Elimina la clave especificada y todos sus elementos secundarios. |
CSettingsStore::DeleteValue | Elimina el valor especificado de la clave abierta. |
CSettingsStore::Open | Abre la clave especificada. |
CSettingsStore::Read | Recupera los datos de un valor de clave especificado. |
CSettingsStore::Write | Escribe un valor en el Registro en la clave abierta. |
Comentarios
Las funciones miembro CreateKey
y Open
son muy similares. Si la clave del Registro ya existe, CreateKey
y Open
funcionan de la misma manera. Pero si la clave del Registro no existe, CreateKey
la crea, mientras que Open
devuelve un valor de error.
Ejemplo
En el siguiente ejemplo se muestra cómo usar los métodos Open y Read de la clase CSettingsStore
. Este fragmento de código forma parte del ejemplo de demostración de información sobre herramientas.
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;
}
Jerarquía de herencia
CSettingsStore
Requisitos
Encabezado: afxsettingsstore.h
CSettingsStore::Close
Cierra la clave del Registro abierta.
virtual void Close();
Comentarios
De manera predeterminada, se llama a este método desde el destructor de CSettingsStore (clase).
CSettingsStore::CreateKey
Abre una clave del Registro o la crea si no existe.
virtual BOOL CreateKey(LPCTSTR pszPath);
Parámetros
pszPath
[in] Especifica el nombre de una clave que se va a crear o abrir.
Valor devuelto
0 si se ejecuta correctamente; de lo contrario, un valor distinto de cero.
Comentarios
CreateKey
usa m_hKey
como raíz de las consultas del Registro. Busca pszPath como subclave de m_hKey
. Si la clave no existe, CreateKey
la crea. De lo contrario, abre la clave. CreateKey
luego establece m_hKey
en la clave creada o abierta.
CSettingsStore::CSettingsStore
Crea un objeto CSettngsStore
.
CSettingsStore(
BOOL bAdmin,
BOOL bReadOnly);
Parámetros
bAdmin
[in] Parámetro booleano que especifica si el objeto CSettingsStore
actúa en modo de administrador.
bReadOnly
[in] Parámetro booleano que especifica si el objeto CSettingsStore
se ha creado en modo de solo lectura.
Comentarios
Si bAdmin se establece en TRUE, la variable miembro m_hKey
se establece en HKEY_LOCAL_MACHINE. Si bAdmin se establece en FALSE, m_hKey
se establece en HKEY_CURRENT_USER.
El acceso de seguridad depende del parámetro bReadOnly. Si bReadonly es FALSE, el acceso de seguridad se establece en KEY_ALL_ACCESS. Si bReadyOnly es TRUE, el acceso de seguridad se establece en una combinación de KEY_QUERY_VALUE, KEY_NOTIFY y KEY_ENUMERATE_SUB_KEYS. Para obtener más información sobre el acceso de seguridad junto con el Registro, vea Derechos de acceso y seguridad de clave del Registro.
El destructor de CSettingsStore
libera m_hKey
automáticamente.
CSettingsStore::DeleteKey
Elimina una clave y todos sus elementos secundarios del Registro.
virtual BOOL DeleteKey(
LPCTSTR pszPath,
BOOL bAdmin = FALSE);
Parámetros
pszPath
[in] Nombre de la clave que se va a eliminar.
bAdmin
[in] Modificador que especifica la ubicación de la clave que se va a eliminar.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Este método produce un error si el objeto CSettingsStore
está en modo de solo lectura.
Si el parámetro bAdmin es cero, DeleteKey
busca la clave que se va a eliminar en HKEY_CURRENT_USER. Si bAdmin es distinto de cero, DeleteKey
busca la clave que se va a eliminar en HKEY_LOCAL_MACHINE.
CSettingsStore::DeleteValue
Elimina un valor de m_hKey
.
virtual BOOL DeleteValue(LPCTSTR pszValue);
Parámetros
pszValue
[in] Especifica el campo de valor que se va a quitar.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
CSettingsStore::Open
Abre una clave del Registro.
virtual BOOL Open(LPCTSTR pszPath);
Parámetros
pszPath
[in] Nombre de una clave del Registro.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Después de que este método abra correctamente la clave especificada, se establece m_hKey
en el identificador de esta clave.
CSettingsStore::Read
Lee un valor de una clave del Registro.
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);
Parámetros
pszKey
[in] Puntero a una cadena terminada en null que contiene el nombre del valor que se va a leer del Registro.
iVal
[out] Referencia a una variable entera que recibe el valor leído de la clave del Registro.
dwVal
[out] Referencia a una variable de palabra doble de 32 bits que recibe el valor leído de la clave del Registro.
sVal
[out] Referencia a una variable de cadena que recibe el valor leído de la clave del Registro.
scStringList
[out] Referencia a una variable de lista de cadena que recibe el valor leído de la clave del Registro.
scArray
[out] Referencia a una variable de matriz de cadena que recibe el valor leído de la clave del Registro.
dwcArray
[out] Referencia a una variable de matriz de palabra doble de 32 bits que recibe el valor leído de la clave del Registro.
wcArray
[out] Referencia a una variable de matriz de palabra de 16 bits que recibe el valor leído de la clave del Registro.
bcArray
[out] Referencia a una variable de matriz de byte que recibe el valor leído de la clave del Registro.
lpPoint
[out] Referencia a un puntero a una estructura POINT
que recibe el valor leído de la clave del Registro.
rect
[out] Referencia a una variable CRect que recibe el valor leído de la clave del Registro.
ppData
[out] Puntero a un puntero a datos que recibe el valor leído de la clave del Registro.
pBytes
[out] Puntero a una variable entera sin signo. Esta variable recibe el tamaño del búfer al que punta ppData.
list
[out] Referencia a una variable CObList que recibe el valor leído de la clave del Registro.
obj
[out] Referencia a una variable CObject que recibe el valor leído de la clave del Registro.
pObj
[out] Referencia a un puntero a una variable CObject
que recibe el valor leído de la clave del Registro.
Valor devuelto
Si es correcta, su valor es distinto de cero. En caso contrario, es cero.
Comentarios
Read
busca pszKey como subclave de m_hKey
.
CSettingsStore::Write
Escribe un valor en el Registro en la clave abierta.
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);
Parámetros
pszKey
[in] Puntero a una cadena que contiene el nombre del valor que se va a establecer.
iVal
[in] Referencia a una variable entera que contiene los datos que se van a almacenar.
dwVal
[in] Referencia a una variable de palabra doble de 32 bits que contiene los datos que se van a almacenar.
pszVal
[in] Puntero a una variable de cadena terminada en null que contiene los datos que se van a almacenar.
scStringList
[in] Referencia a una variable CStringList que contiene los datos que se van a almacenar.
bcArray
[in] Referencia a una variable de matriz de byte que contiene los datos que se van a almacenar.
scArray
[in] Referencia a una variable de matriz de cadena que contiene los datos que se van a almacenar.
dwcArray
[in] Referencia a una variable de matriz de palabra doble de 32 bits que contiene los datos que se van a almacenar.
wcArray
[in] Referencia a una variable de matriz de palabra de 16 bits que contiene los datos que se van a almacenar.
rect
[in] Referencia a una variable CRect que contiene los datos que se van a almacenar.
lpPoint
[in] Referencia a un puntero a una variable POINT
que contiene los datos que se van a almacenar.
pData
[in] Puntero a un búfer que contiene los datos que se van a almacenar.
nBytes
[in] Especifica el tamaño, en bytes, de los datos a los que apunta el parámetro pData.
list
[in] Referencia a una variable CObList que contiene los datos que se van a almacenar.
obj
[in] Referencia a una variable CObject que contiene los datos que se van a almacenar.
pObj
[in] Puntero a un puntero a una variable CObject
que contiene los datos que se van a almacenar.
Valor devuelto
TRUE si es correcto; en caso contrario, FALSE.
Comentarios
Para escribir en el Registro, debe establecer bReadOnly en un valor distinto de cero al crear un objeto CSettingsStore. Para obtener más información, vea CSettingsStore::CSettingsStore.