CSettingsStore-Klasse
Kapselt Windows-API-Funktionen und stellt eine objektorientierte Schnittstelle für den Zugriff auf die Registrierung bereit.
Syntax
class CSettingsStore : public CObject
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CSettingsStore::CSettingsStore | Erstellt ein CSettingsStore -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CSettingsStore::Close | Schließt den geöffneten Registrierungsschlüssel. |
CSettingsStore::CreateKey | Öffnet den angegebenen Schlüssel oder erstellt ihn, wenn er nicht vorhanden ist. |
CSettingsStore::D eleteKey | Löscht den angegebenen Schlüssel und alle untergeordneten Elemente. |
CSettingsStore::D eleteValue | Löscht den angegebenen Wert des geöffneten Schlüssels. |
CSettingsStore::Open | Öffnet den angegebenen Schlüssel. |
CSettingsStore::Read | Ruft die Daten für einen angegebenen Schlüsselwert ab. |
CSettingsStore::Write | Schreibt einen Wert in die Registrierung unter dem geöffneten Schlüssel. |
Hinweise
Die Memberfunktionen CreateKey
und Open
sind sehr ähnlich. Wenn der Registrierungsschlüssel bereits vorhanden CreateKey
ist und Open
auf die gleiche Weise funktioniert. Wenn der Registrierungsschlüssel jedoch nicht vorhanden ist, wird er erstellt, CreateKey
während Open
ein Fehlerwert zurückgegeben wird.
Beispiel
Im folgenden Beispiel wird die Verwendung der Open- und Read-Methoden der CSettingsStore
Klasse veranschaulicht. Dieser Codeausschnitt ist Teil des QuickInfo-Demobeispiels.
CSettingsStore reg(FALSE, TRUE);
DWORD dwEnableBalloonTips = 1;
if (reg.Open(_T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced")) &&
reg.Read(_T("EnableBalloonTips"), dwEnableBalloonTips))
{
return dwEnableBalloonTips == 1;
}
Vererbungshierarchie
CSettingsStore
Anforderungen
Header: afxsettingsstore.h
CSettingsStore::Close
Schließt den geöffneten Registrierungsschlüssel.
virtual void Close();
Hinweise
Standardmäßig wird diese Methode vom Destruktor der CSettingsStore-Klasse aufgerufen.
CSettingsStore::CreateKey
Öffnet einen Registrierungsschlüssel oder erstellt ihn, wenn er nicht vorhanden ist.
virtual BOOL CreateKey(LPCTSTR pszPath);
Parameter
pszPath
[in] Gibt den Namen eines zu erstellenden oder geöffneten Schlüssels an.
Rückgabewert
0 bei erfolgreicher Ausführung; andernfalls ein Wert ungleich Null.
Hinweise
CreateKey
wird als Stamm von Registrierungsanfragen verwendet m_hKey
. Es sucht nach pszPath als Unterschlüssel von m_hKey
. Wenn der Schlüssel nicht vorhanden ist, CreateKey
wird er erstellt. Andernfalls wird der Schlüssel geöffnet. CreateKey
dann wird auf den erstellten oder geöffneten Schlüssel festgelegt m_hKey
.
CSettingsStore::CSettingsStore
Erstellt ein CSettngsStore
-Objekt.
CSettingsStore(
BOOL bAdmin,
BOOL bReadOnly);
Parameter
bAdmin
[in] Boolescher Parameter, der angibt, ob das CSettingsStore
Objekt im Administratormodus fungiert.
bReadOnly
[in] Boolescher Parameter, der angibt, ob das CSettingsStore
Objekt im schreibgeschützten Modus erstellt wird.
Hinweise
Wenn bAdmin auf TRUE festgelegt ist, wird die m_hKey
Membervariable auf HKEY_LOCAL_MACHINE festgelegt. Wenn Sie "bAdmin" auf "FALSE" festlegen, m_hKey
wird auf HKEY_CURRENT_USER festgelegt.
Der Sicherheitszugriff hängt vom bReadOnly-Parameter ab. Wenn bReadonly FALSE ist, wird der Sicherheitszugriff auf KEY_ALL_ACCESS festgelegt. Wenn bReadyOnly WAHR ist, wird der Sicherheitszugriff auf eine Kombination aus KEY_QUERY_VALUE, KEY_NOTIFY und KEY_ENUMERATE_SUB_KEYS festgelegt. Weitere Informationen zum Sicherheitszugriff zusammen mit der Registrierung finden Sie unter Registry Key Security and Access Rights.
Der Destruktor für CSettingsStore
Versionen m_hKey
automatisch.
CSettingsStore::D eleteKey
Löscht einen Schlüssel und alle untergeordneten Elemente aus der Registrierung.
virtual BOOL DeleteKey(
LPCTSTR pszPath,
BOOL bAdmin = FALSE);
Parameter
pszPath
[in] Der Name des zu löschenden Schlüssels.
bAdmin
[in] Wechseln Sie, der die Position des zu löschenden Schlüssels angibt.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Methode schlägt fehl, wenn sich das CSettingsStore
Objekt im schreibgeschützten Modus befindet.
Wenn der Parameter bAdmin null ist, wird nach dem Schlüssel gesucht, DeleteKey
der unter HKEY_CURRENT_USER gelöscht werden soll. Wenn bAdmin nicht null ist, wird nach dem Schlüssel gesucht, DeleteKey
der unter HKEY_LOCAL_MACHINE gelöscht werden soll.
CSettingsStore::D eleteValue
Löscht einen Wert aus m_hKey
.
virtual BOOL DeleteValue(LPCTSTR pszValue);
Parameter
pszValue
[in] Gibt das zu entfernende Wertfeld an.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
CSettingsStore::Open
Öffnet einen Registrierungsschlüssel.
virtual BOOL Open(LPCTSTR pszPath);
Parameter
pszPath
[in] Der Name eines Registrierungsschlüssels.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Nachdem diese Methode den angegebenen Schlüssel erfolgreich geöffnet hat, wird er auf das Handle dieses Schlüssels festgelegt m_hKey
.
CSettingsStore::Read
Liest einen Wert aus einem Schlüssel in der Registrierung.
virtual BOOL Read(
LPCTSTR pszKey,
int& iVal);
virtual BOOL Read(
LPCTSTR pszKey,
DWORD& dwVal);
virtual BOOL Read(
LPCTSTR pszKey,
CString& sVal);
virtual BOOL Read(
LPCTSTR pszKey,
CStringList& scStringList);
virtual BOOL Read(
LPCTSTR pszKey,
CStringArray& scArray);
virtual BOOL Read(
LPCTSTR pszKey,
CDWordArray& dwcArray);
virtual BOOL Read(
LPCTSTR pszKey,
CWordArray& wcArray);
virtual BOOL Read(
LPCTSTR pszKey,
CByteArray& bcArray);
virtual BOOL Read(
LPCTSTR pszKey,
LPPOINT& lpPoint);
virtual BOOL Read(
LPCTSTR pszKey,
CRect& rect);
virtual BOOL Read(
LPCTSTR pszKey,
BYTE** ppData,
UINT* pBytes);
virtual BOOL Read(
LPCTSTR pszKey,
CObList& list);
virtual BOOL Read(
LPCTSTR pszKey,
CObject& obj);
virtual BOOL Read(
LPCTSTR pszKey,
CObject*& pObj);
Parameter
pszKey
[in] Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen des Werts enthält, der aus der Registrierung gelesen werden soll.
iVal
[out] Verweisen auf eine ganzzahlige Variable, die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
dwVal
[out] Verweisen Sie auf eine 32-Bit-Doppelwortvariable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
sVal
[out] Verweis auf eine Zeichenfolgenvariable, die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
scStringList
[out] Verweis auf eine Zeichenfolgenlistenvariable, die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
scArray
[out] Verweis auf eine Zeichenfolgenarrayvariable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
dwcArray
[out] Verweisen Sie auf eine 32-Bit-Doppelwortarrayvariable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
wcArray
[out] Verweisen Sie auf eine 16-Bit-Wortarrayvariable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
bcArray
[out] Verweis auf eine Bytearrayvariable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
lpPoint
[out] Verweisen Sie auf einen Zeiger auf eine POINT
Struktur, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
rect
[out] Verweisen Sie auf eine CRect-Variable , die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
ppData
[out] Zeigen Sie auf einen Zeiger auf Daten, die den Vom Registrierungsschlüssel gelesenen Wert empfangen.
pBytes
[out] Zeiger auf eine nicht signierte ganzzahlige Variable. Diese Variable empfängt die Größe des Puffers, auf den ppData verweist.
list
[out] Verweis auf eine CObList-Variable , die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
obj
[out] Verweis auf eine CObject-Variable , die den Wert empfängt, der aus dem Registrierungsschlüssel gelesen wird.
pObj
[out] Verweisen Sie auf einen Zeiger auf eine CObject
Variable, die den Vom Registrierungsschlüssel gelesenen Wert empfängt.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Read
sucht nach pszKey als Unterschlüssel von m_hKey
.
CSettingsStore::Write
Schreibt einen Wert in die Registrierung unter dem geöffneten Schlüssel.
virtual BOOL Write(
LPCTSTR pszKey,
int iVal);
virtual BOOL Write(
LPCTSTR pszKey,
DWORD dwVal);
virtual BOOL Write(
LPCTSTR pszKey,
LPCTSTR pszVal);
virtual BOOL Write(
LPCTSTR pszKey,
CStringList& scStringList);
virtual BOOL Write(
LPCTSTR pszKey,
CByteArray& bcArray);
virtual BOOL Write(
LPCTSTR pszKey,
CStringArray& scArray);
virtual BOOL Write(
LPCTSTR pszKey,
CDWordArray& dwcArray);
virtual BOOL Write(
LPCTSTR pszKey,
CWordArray& wcArray);
virtual BOOL Write(
LPCTSTR pszKey,
const CRect& rect);
virtual BOOL Write(
LPCTSTR pszKey,
LPPOINT& lpPoint);
virtual BOOL Write(
LPCTSTR pszKey,
LPBYTE pData,
UINT nBytes);
virtual BOOL Write(
LPCTSTR pszKey,
CObList& list);
virtual BOOL Write(
LPCTSTR pszKey,
CObject& obj);
virtual BOOL Write(
LPCTSTR pszKey,
CObject* pObj);
Parameter
pszKey
[in] Zeigen Sie auf eine Zeichenfolge, die den Namen des festzulegenden Werts enthält.
iVal
[in] Verweisen auf eine ganzzahlige Variable, die die zu speichernden Daten enthält.
dwVal
[in] Verweisen Sie auf eine 32-Bit-Doppelwortvariable, die die zu speichernden Daten enthält.
pszVal
[in] Zeiger auf eine null-beendete Zeichenfolgenvariable, die die zu speichernden Daten enthält.
scStringList
[in] Verweis auf eine CStringList-Variable , die die zu speichernden Daten enthält.
bcArray
[in] Verweisen auf eine Bytearrayvariable, die die zu speichernden Daten enthält.
scArray
[in] Verweisen auf eine Zeichenfolgenarrayvariable, die die zu speichernden Daten enthält.
dwcArray
[in] Verweis auf eine 32-Bit-Doppelwortarrayvariable, die die zu speichernden Daten enthält.
wcArray
[in] Verweis auf eine 16-Bit-Wortarrayvariable, die die zu speichernden Daten enthält.
rect
[in] Verweis auf eine CRect-Variable , die die zu speichernden Daten enthält.
lpPoint
[in] Verweisen sie auf einen Zeiger auf eine POINT
Variable, die die zu speichernden Daten enthält.
pData
[in] Zeigen Sie auf einen Puffer, der die zu speichernden Daten enthält.
nBytes
[in] Gibt die Größe der Daten in Bytes an, auf die der pData-Parameter verweist.
list
[in] Verweisen auf eine CObList-Variable , die die zu speichernden Daten enthält.
obj
[in] Verweisen auf eine CObject-Variable , die die zu speichernden Daten enthält.
pObj
[in] Zeigen Sie auf einen Zeiger auf eine CObject
Variable, die die zu speichernden Daten enthält.
Rückgabewert
TRUE, wenn erfolgreich, andernfalls FALSE.
Hinweise
Um in die Registrierung zu schreiben, müssen Sie "bReadOnly" auf einen Wert ungleich Null festlegen, wenn Sie ein CSettingsStore-Objekt erstellen. Weitere Informationen finden Sie unter "CSettingsStore::CSettingsStore".