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:
Crie uma classe (como
CMyStore
) e derive-a deCSettingsStore
.Use macros DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE com sua classe personalizada
CSettingsStore
para habilitar a criação dinâmica.Substitua as funções virtuais e implemente as funções
Read
eWrite
na sua classe personalizada. Implemente qualquer outra funcionalidade para ler e gravar dados no local desejado.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 retorno
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 ® = 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 retorno
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
.