Classe CSettingsStoreSP
La CSettingsStoreSP
classe è una classe helper che è possibile usare per creare istanze della classe CSettingsStore.
Sintassi
class CSettingsStoreSP
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
CSettingsStoreSP::CSettingsStoreSP | Costruisce un oggetto CSettingsStoreSP . |
Metodi pubblici
Nome | Descrizione |
---|---|
CSettingsStoreSP::Create | Crea un'istanza di una classe derivata da CSettingsStore . |
CSettingsStoreSP::SetRuntimeClass | Imposta la classe di runtime. Il Create metodo usa la classe di runtime per determinare la classe di oggetti da creare. |
Membri dei dati
Nome | Descrizione |
---|---|
m_dwUserData |
Dati utente personalizzati archiviati nell'oggetto CSettingsStoreSP . Questi dati vengono forniti nel costruttore dell'oggetto CSettingsStoreSP . |
m_pRegistry |
Oggetto CSettingsStore derivato da che il Create metodo crea. |
Osservazioni:
È possibile utilizzare la CSettingsStoreSP
classe per reindirizzare tutte le operazioni del Registro di sistema MFC ad altri percorsi, ad esempio un file XML o un database. A tale scopo, effettuare i passaggi seguenti:
Creare una classe (ad esempio
CMyStore
) e derivarla daCSettingsStore
.Usare DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE macro con la classe personalizzata
CSettingsStore
per abilitare la creazione dinamica.Eseguire l'override delle funzioni virtuali e implementare le
Read
funzioni eWrite
nella classe personalizzata. Implementare qualsiasi altra funzionalità per leggere e scrivere dati nella posizione desiderata.Nell'applicazione chiamare
CSettingsStoreSP::SetRuntimeClass
e passare un puntatore alla struttura CRuntimeClass ottenuta dalla classe.
Ogni volta che il framework accede in genere al Registro di sistema, crea ora un'istanza dinamica della classe personalizzata e la usa per leggere o scrivere dati.
CSettingsStoreSP::SetRuntimeClass
usa una variabile statica globale. Pertanto, è disponibile un solo archivio personalizzato alla volta.
Requisiti
Intestazione: afxsettingsstore.h
CSettingsStoreSP::Create
Crea una nuova istanza di un oggetto derivato dalla classe CSettingsStore.
CSettingsStore& CSettingsStoreSP Create(
BOOL bAdmin,
BOOL bReadOnly);
Parametri
bAdmin
[in] Parametro booleano che determina se un CSettingsStore
oggetto viene creato in modalità amministratore.
bReadOnly
[in] Parametro booleano che determina se viene creato un CSettingsStore
oggetto per l'accesso in sola lettura.
Valore restituito
Riferimento all'oggetto appena creato CSettingsStore
.
Osservazioni:
È possibile usare il metodo CSettingsStoreSP::SetRuntimeClass per determinare il tipo di oggetto CSettingsStoreSP::Create
che verrà creato. Per impostazione predefinita, questo metodo crea un CSettingsStore
oggetto .
Se si crea un CSettingsStore
oggetto in modalità amministratore, il percorso predefinito per tutti gli accessi al Registro di sistema è HKEY_LOCAL_MACHINE. In caso contrario, il percorso predefinito per tutti gli accessi al Registro di sistema è HKEY_CURRENT_USER.
Se bAdmin è TRUE, l'applicazione deve disporre dei diritti di amministrazione. In caso contrario, l'operazione avrà esito negativo quando tenta di accedere al Registro di sistema.
Esempio
Nell'esempio seguente viene illustrato come usare il Create
metodo della CSettingsStoreSP
classe .
CSettingsStoreSP regSP;
CSettingsStore ® = regSP.Create(FALSE, TRUE);
CSettingsStoreSP::CSettingsStoreSP
Costruisce un oggetto classe CSettingsStoreSP.
CSettingsStoreSP::CSettingsStoreSP(DWORD dwUserData = 0);
Parametri
dwUserData
[in] Dati definiti dall'utente archiviati dall'oggetto CSettingsStoreSP
.
Osservazioni:
L'oggetto CSettingsStoreSP
archivia i dati di dwUserData nella variabile m_dwUserData
membro protetta .
CSettingsStoreSP::SetRuntimeClass
Imposta la classe di runtime. Il metodo CSettingsStoreSP::Create usa la classe di runtime per determinare il tipo di oggetto da creare.
static BOOL __stdcall CSettingsStoreSP::SetRuntimeClass(CRuntimeClass* pRTI);
Parametri
pRTI
[in] Puntatore alle informazioni sulla classe di runtime per una classe derivata dalla classe CSettingsStore.
Valore restituito
TRUE se ha esito positivo; FALSE se la classe identificata da pRTI non è derivata da CSettingsStore
.
Osservazioni:
È possibile usare la classe CSettingsStoreSP per derivare classi da CSettingsStore
. Utilizzare il metodo SetRuntimeClass
se si desidera creare oggetti di una classe personalizzata derivata da CSettingsStore
.