Compartilhar via


Classe CSettingsStoreSP

A classe CSettingsStoreSP é uma classe auxiliar que você pode usar para criar instâncias da classe CSettingsStore.

Sintaxe

class CSettingsStoreSP

Membros

Construtores públicos

Nome Descrição
CSettingsStoreSP::CSettingsStoreSP Constrói um objeto CSettingsStoreSP.

Métodos públicos

Nome Descrição
CSettingsStoreSP::Create Uma instância de uma classe que é derivada de CSettingsStore.
CSettingsStoreSP::SetRuntimeClass Define a classe de runtime. O método Create usa a classe de runtime para determinar qual classe de objetos criar.

Membros de dados

Nome Descrição
m_dwUserData Dados personalizados do usuário armazenados no objeto CSettingsStoreSP. Você fornece esses dados no construtor do objeto CSettingsStoreSP.
m_pRegistry O objeto derivado de CSettingsStore que o método Create cria.

Comentários

Você pode usar a classe CSettingsStoreSP para redirecionar todas as operações de registro do MFC para outros locais, como um arquivo XML ou um banco de dados. Para fazer isso, siga estas etapas:

  1. Crie uma classe (como CMyStore) e derive-a de CSettingsStore.

  2. Use macros DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE com sua classe personalizada CSettingsStore para habilitar a criação dinâmica.

  3. Substitua as funções virtuais e implemente as funções Read e Write na sua classe personalizada. Implemente qualquer outra funcionalidade para ler e gravar dados no local desejado.

  4. Em seu aplicativo, chame CSettingsStoreSP::SetRuntimeClass e passe um ponteiro para a Estrutura CRuntimeClass obtida de sua classe.

Se a estrutura normalmente acessaria o registro, ela agora instanciará dinamicamente sua classe personalizada e a usará para ler ou gravar dados.

CSettingsStoreSP::SetRuntimeClass usa uma variável estática global. Portanto, apenas um repositório personalizado está disponível por vez.

Requisitos

Cabeçalho: afxsettingsstore.h

CSettingsStoreSP::Create

Cria uma nova instância de um objeto derivado da classe CSettingsStore.

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

Parâmetros

bAdmin
[in] Um parâmetro booliano que determina se um objeto CSettingsStore é criado no modo de administrador.

bReadOnly
[in] Um parâmetro booliano que determina se um objeto CSettingsStore é criado para acesso somente leitura.

Valor de Devolução

Uma referência ao objeto CSettingsStore recém-criado.

Comentários

Você pode usar o método CSettingsStoreSP::SetRuntimeClass para determinar que tipo de objeto CSettingsStoreSP::Create será criado. Por padrão, esse método cria um objeto CSettingsStore.

Se você criar um objeto CSettingsStore no modo de administrador, o local padrão para todo o acesso ao Registro será HKEY_LOCAL_MACHINE. Caso contrário, o local padrão para todo o acesso ao Registro será HKEY_CURRENT_USER.

Se bAdmin for TRUE, o aplicativo deverá ter direitos de administração. Caso contrário, ele falhará quando tentar acessar o Registro.

Exemplo

O exemplo a seguir demonstra como usar o método Create da classe CSettingsStoreSP.

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

CSettingsStoreSP::CSettingsStoreSP

Constrói um objeto de classe CSettingsStoreSP .

CSettingsStoreSP::CSettingsStoreSP(DWORD dwUserData = 0);

Parâmetros

dwUserData
[in] Dados definidos pelo usuário que o objeto CSettingsStoreSP armazena.

Comentários

O objeto CSettingsStoreSP armazena os dados de dwUserData na variável de membro protegida m_dwUserData.

CSettingsStoreSP::SetRuntimeClass

Define a classe de runtime. O método CSettingsStoreSP::Create usa a classe de runtime para determinar que tipo de objeto criar.

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

Parâmetros

pRTI
[in] Um ponteiro para as informações de classe de runtime para uma classe derivada da classe CSettingsStore.

Valor de Devolução

TRUE se tiver êxito; FALSE se a classe identificada por pRTI não for derivada de CSettingsStore.

Comentários

Você pode usar a classe CSettingsStoreSP para derivar classes de CSettingsStore. Use o método SetRuntimeClass se quiser criar objetos de uma classe personalizada derivada de CSettingsStore.

Confira também

Classes
Gráfico da hierarquia
Classe CSettingsStore