Compartir a través de


CSettingsStoreSP (clase)

La clase CSettingsStoreSP es una clase asistente que puede usar para crear instancias de CSettingsStore (clase).

Sintaxis

class CSettingsStoreSP

Miembros

Constructores públicos

Nombre Descripción
CSettingsStoreSP::CSettingsStoreSP Construye un objeto CSettingsStoreSP.

Métodos públicos

Nombre Descripción
CSettingsStoreSP::Create Crea una instancia de una clase derivada de CSettingsStore.
CSettingsStoreSP::SetRuntimeClass Establece la clase en tiempo de ejecución. El método Create usa la clase en tiempo de ejecución para determinar qué clase de objetos se van a crear.

Miembros de datos

Nombre Descripción
m_dwUserData Datos de usuario personalizados que se almacenan en el objeto CSettingsStoreSP. Estos datos se proporcionan en el constructor del objeto CSettingsStoreSP.
m_pRegistry El objeto derivado CSettingsStore que crea el método Create.

Comentarios

Puede usar la clase CSettingsStoreSP para redirigir todas las operaciones de registro de MFC a otras ubicaciones, como un archivo XML o una base de datos. Para ello, siga estos pasos:

  1. Cree una clase (como CMyStore) y derívela de CSettingsStore.

  2. Use las macros DECLARE_DYNCREATE y IMPLEMENT_DYNCREATE con la clase personalizada CSettingsStore para habilitar la creación dinámica.

  3. Invalide las funciones virtuales e implemente las funciones Read y Write en la clase personalizada. Implemente cualquier otra funcionalidad para leer y escribir datos en la ubicación deseada.

  4. En la aplicación, llame CSettingsStoreSP::SetRuntimeClass y pase un puntero a la Estructura CRuntimeClass obtenida de la clase.

Cada vez que el marco acceda normalmente al registro, ahora creará una instancia dinámica de la clase personalizada y la usará para leer o escribir datos.

CSettingsStoreSP::SetRuntimeClass usa una variable estática global. Por lo tanto, solo hay un almacén personalizado disponible a la vez.

Requisitos

Encabezado: afxsettingsstore.h

CSettingsStoreSP::Create

Crea una nueva instancia de un objeto derivado de CSettingsStore (clase).

CSettingsStore& CSettingsStoreSP Create(
    BOOL bAdmin,
    BOOL bReadOnly);

Parámetros

bAdmin
[in] Un parámetro booleano que determina si un objeto CSettingsStore se crea en modo de administrador.

bReadOnly
[in] Un parámetro booleano que determina si un objeto CSettingsStore se crea para acceso de solo lectura.

Valor devuelto

Referencia al objeto CSettingsStore recién creado.

Comentarios

Puede usar el método CSettingsStoreSP::SetRuntimeClass para determinar que tipo de objeto CSettingsStoreSP::Create se creará. De forma predeterminada, este método crea un objeto CSettingsStore.

Si crea un objeto CSettingsStore en modo de administrador, la ubicación predeterminada para todo el acceso al Registro es HKEY_LOCAL_MACHINE. De lo contrario, la ubicación predeterminada para todo el acceso al registro es HKEY_CURRENT_USER.

Si bAdmin es TRUE, la aplicación debe tener derechos de administración. De lo contrario, se producirá un error cuando intente acceder al registro.

Ejemplo

En el siguiente ejemplo se muestra cómo se utiliza el método Create de la clase CSettingsStoreSP.

CSettingsStoreSP regSP;
CSettingsStore &reg = regSP.Create(FALSE, TRUE);

CSettingsStoreSP::CSettingsStoreSP

Construye un objeto CSettingsStoreSP (clase).

CSettingsStoreSP::CSettingsStoreSP(DWORD dwUserData = 0);

Parámetros

dwUserData
[in] Datos definidos por el usuario que almacena el objeto CSettingsStoreSP.

Comentarios

El objeto CSettingsStoreSP almacena los datos de dwUserData en la variable miembro m_dwUserData protegida.

CSettingsStoreSP::SetRuntimeClass

Establece la clase en tiempo de ejecución. El método CSettingsStoreSP::Create usa la clase en tiempo de ejecución para determinar qué tipo de objeto se va a crear.

static BOOL __stdcall CSettingsStoreSP::SetRuntimeClass(CRuntimeClass* pRTI);

Parámetros

pRTI
[in] Puntero a la información de la clase en tiempo de ejecución para una clase derivada de CSettingsStore (clase).

Valor devuelto

TRUE si se realiza correctamente; FALSE si la clase identificada por pRTI no se deriva de CSettingsStore.

Comentarios

Puede usar CSettingsStoreSP (clase) para derivar clases de CSettingsStore. Use el método SetRuntimeClass si desea crear objetos de una clase personalizada derivada de CSettingsStore.

Consulte también

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