Compartir por


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

CObject

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.

Consulte también

Gráfico de jerarquías
Clases
CWinAppEx (clase)