Freigeben über


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 CSettingsStoreabgeleitete 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:

  1. Erstellen Sie eine Klasse (z CMyStore. B. ) und leiten Sie sie von CSettingsStore.

  2. Verwenden Sie DECLARE_DYNCREATE und IMPLEMENT_DYNCREATE Makros mit Ihrer benutzerdefinierten CSettingsStore Klasse, um die dynamische Erstellung zu ermöglichen.

  3. Überschreiben Sie die virtuellen Funktionen, und implementieren Sie die Read funktionen Write in Ihrer benutzerdefinierten Klasse. Implementieren Sie alle anderen Funktionen zum Lesen und Schreiben von Daten an den gewünschten Speicherort.

  4. 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 &reg = 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.

Siehe auch

Klassen
Hierarchiediagramm
CSettingsStore-Klasse