CSettingsStoreSP-Klasse
Die CSettingsStoreSP
Klasse ist eine Hilfsklasse, mit der Sie Instanzen der CSettingsStore-Klasse erstellen können.
Syntax
class CSettingsStoreSP
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CSettingsStoreSP::CSettingsStoreSP | Erstellt ein CSettingsStoreSP -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CSettingsStoreSP::Create | Erstellt eine Instanz einer Klasse, die von CSettingsStore . |
CSettingsStoreSP::SetRuntimeClass | Legt die Laufzeitklasse fest. Die Create Methode verwendet die Laufzeitklasse, um zu bestimmen, welche Objektklasse erstellt werden soll. |
Datenelemente
Name | Beschreibung |
---|---|
m_dwUserData |
Benutzerdefinierte Benutzerdaten, die im CSettingsStoreSP Objekt gespeichert sind. Sie geben diese Daten im Konstruktor des CSettingsStoreSP Objekts an. |
m_pRegistry |
Das CSettingsStore abgeleitete Objekt, das von der Create Methode erstellt wird. |
Hinweise
Sie können die CSettingsStoreSP
Klasse verwenden, um alle MFC-Registrierungsvorgänge an andere Speicherorte umzuleiten, z. B. eine XML-Datei oder eine Datenbank. Gehen Sie dazu wie folgt vor:
Erstellen Sie eine Klasse (z
CMyStore
. B. ) und leiten Sie sie vonCSettingsStore
.Verwenden Sie DECLARE_DYNCREATE und IMPLEMENT_DYNCREATE Makros mit Ihrer benutzerdefinierten
CSettingsStore
Klasse, um die dynamische Erstellung zu ermöglichen.Überschreiben Sie die virtuellen Funktionen, und implementieren Sie die
Read
funktionenWrite
in Ihrer benutzerdefinierten Klasse. Implementieren Sie alle anderen Funktionen zum Lesen und Schreiben von Daten an den gewünschten Speicherort.Rufen Sie
CSettingsStoreSP::SetRuntimeClass
in Ihrer Anwendung einen Zeiger auf die von Ihrer Klasse abgerufene CRuntimeClass-Struktur auf, und übergeben Sie ihn.
Jedes Mal, wenn das Framework in der Regel auf die Registrierung zugreift, instanziiert es jetzt dynamisch Ihre benutzerdefinierte Klasse und verwendet es zum Lesen oder Schreiben von Daten.
CSettingsStoreSP::SetRuntimeClass
verwendet eine globale statische Variable. Daher ist jeweils nur ein benutzerdefinierter Store verfügbar.
Anforderungen
Header: afxsettingsstore.h
CSettingsStoreSP::Create
Erstellt eine neue Instanz eines Objekts, das von der CSettingsStore-Klasse abgeleitet wird.
CSettingsStore& CSettingsStoreSP Create(
BOOL bAdmin,
BOOL bReadOnly);
Parameter
bAdmin
[in] Ein boolescher Parameter, der bestimmt, ob ein CSettingsStore
Objekt im Administratormodus erstellt wird.
bReadOnly
[in] Ein boolescher Parameter, der bestimmt, ob ein CSettingsStore
Objekt für schreibgeschützten Zugriff erstellt wird.
Rückgabewert
Ein Verweis auf das neu erstellte CSettingsStore
Objekt.
Hinweise
Sie können die Methode CSettingsStoreSP::SetRuntimeClass verwenden, um zu bestimmen, welcher Objekttyp CSettingsStoreSP::Create
erstellt wird. Standardmäßig erstellt diese Methode ein CSettingsStore
Objekt.
Wenn Sie ein CSettingsStore
Objekt im Administratormodus erstellen, wird der Standardspeicherort für den gesamten Registrierungszugriff HKEY_LOCAL_MACHINE. Andernfalls ist der Standardspeicherort für den gesamten Registrierungszugriff HKEY_CURRENT_USER.
Wenn "bAdmin " WAHR ist, muss die Anwendung über Administratorrechte verfügen. Andernfalls tritt ein Fehler auf, wenn versucht wird, auf die Registrierung zuzugreifen.
Beispiel
Im folgenden Beispiel wird die Verwendung der Create
Methode der CSettingsStoreSP
Klasse veranschaulicht.
CSettingsStoreSP regSP;
CSettingsStore ® = regSP.Create(FALSE, TRUE);
CSettingsStoreSP::CSettingsStoreSP
Erstellt ein CSettingsStoreSP Class -Objekt.
CSettingsStoreSP::CSettingsStoreSP(DWORD dwUserData = 0);
Parameter
dwUserData
[in] Benutzerdefinierte Daten, die vom CSettingsStoreSP
Objekt gespeichert werden.
Hinweise
Das CSettingsStoreSP
Objekt speichert die Daten aus dwUserData in der geschützten Membervariable m_dwUserData
.
CSettingsStoreSP::SetRuntimeClass
Legt die Laufzeitklasse fest. Die Methode CSettingsStoreSP::Create verwendet die Laufzeitklasse, um zu bestimmen, welcher Objekttyp erstellt werden soll.
static BOOL __stdcall CSettingsStoreSP::SetRuntimeClass(CRuntimeClass* pRTI);
Parameter
pRTI
[in] Ein Zeiger auf die Laufzeitklasseninformationen für eine Von der CSettingsStore-Klasse abgeleitete Klasse.
Rückgabewert
TRUE, wenn erfolgreich; FALSE, wenn die von pRTI identifizierte Klasse nicht von CSettingsStore
.
Hinweise
Sie können die CSettingsStoreSP-Klasse verwenden, um Klassen von CSettingsStore
. Verwenden Sie die Methode SetRuntimeClass
, wenn Sie Objekte einer benutzerdefinierten Klasse erstellen möchten, die von CSettingsStore
.