Registrierungsfunktionen

Wann sollte die Registrierung verwendet werden?

Die Windows Registrierung eignet sich für das Speichern kleiner Mengen von Konfigurationsdaten (Einstellungen, Einstellungen, Status pro Benutzer). Erwägen Sie Alternativen für andere Szenarien:

Szenario Recommendation
Anwendungseinstellungen (moderne Apps) Bevorzugen Sie ApplicationData.LocalSettings (UWP/WinUI) oder eine JSON/XML-Datei für %APPDATA% Desktop-Apps. Diese sind einfacher zu sichern, zu migrieren und zu debuggen.
Große Daten oder strukturierte Daten Verwenden Sie eine Datei (JSON, SQLite usw.), anstatt große Blobs in Registrierungswerten zu speichern.
Computerweite Dienstkonfiguration Die Registrierung unter HKEY_LOCAL_MACHINE ist angemessen – dies ist der Standardmechanismus für Windows Dienste.
Einstellungen pro Benutzer (Desktop-Apps) Die Registrierung unter HKEY_CURRENT_USER\Software\<Company>\<App> ist geeignet und konventionell.
Freigegebener Zustand zwischen Prozessen Erwägen Sie den benannten freigegebenen Speicher, benannte Pipes oder eine Datei – die Registrierung enthält keine Änderungsbenachrichtigung, die in Wertlesevorgänge integriert ist. Verwenden Sie RegNotifyChangeKeyValue nur für grobkörnige Benachrichtigungen.

Important

Bewährte Methoden für Sicherheit: Öffnen Sie Registrierungsschlüssel mit den erforderlichen Mindestzugriffsrechten (z. B KEY_READ . oder KEY_WRITE) – vermeiden Sie die Verwendung KEY_ALL_ACCESS oder MAXIMUM_ALLOWED. Schreibzugriff HKEY_LOCAL_MACHINE nur von Prozessen mit erhöhten Rechten (Administrator). Überprüfen Sie immer Rückgabewerte von Registrierungsfunktionen – sie geben ERROR_SUCCESS erfolg- und win32-Fehlercode bei Fehlern (nicht HRESULT) zurück.

Note

Allgemeiner Fall – Zeichenfolgentypen: Registrierungszeichenfolgenwerte (REG_SZ, REG_EXPAND_SZ) müssen den Null-Terminator in die an RegSetValueExdie Byteanzahl übergebene Anzahl enthalten. Wenn Sie Zeichenfolgen mit RegQueryValueEx oder , immer RegGetValuenull beenden Sie den Puffer selbst, wenn der gespeicherte Wert möglicherweise nicht den Terminator enthält – einige Software von Drittanbietern schreibt Zeichenfolgen ohne diesen.

Im Folgenden sind die Registrierungsfunktionen aufgeführt.

Funktion Beschreibung
GetSystemRegistryQuota Ruft die aktuelle Größe der Registrierung und die maximale Größe ab, die die Registrierung auf dem System erreichen darf.
RegCloseKey- Schließt ein Handle mit dem angegebenen Registrierungsschlüssel.
RegConnectRegistry- Stellt eine Verbindung mit einem vordefinierten Registrierungshandle auf einem anderen Computer her.
RegCopyTree- Kopiert den angegebenen Registrierungsschlüssel zusammen mit seinen Werten und Unterschlüsseln in den angegebenen Zielschlüssel.
RegCreateKeyEx- Erstellt den angegebenen Registrierungsschlüssel.
RegCreateKeyTransacted- Erstellt den angegebenen Registrierungsschlüssel und ordnet ihn einer Transaktion zu.
RegDeleteKey- Löscht einen Unterschlüssel und dessen Werte.
RegDeleteKeyEx- Löscht einen Unterschlüssel und seine Werte aus der angegebenen plattformspezifischen Ansicht der Registrierung.
RegDeleteKeyTransacted Löscht einen Unterschlüssel und seine Werte aus der angegebenen plattformspezifischen Ansicht der Registrierung als transacted-Vorgang.
RegDeleteKeyValue- Entfernt den angegebenen Wert aus dem angegebenen Registrierungsschlüssel und Unterschlüssel.
RegDeleteTree Löscht die Unterschlüssel und Werte des angegebenen Schlüssels rekursiv.
RegDeleteValue- Entfernt einen benannten Wert aus dem angegebenen Registrierungsschlüssel.
RegDisablePredefinedCache- Deaktiviert das Behandeln des Zwischenspeicherns für den vordefinierten Registrierungshandle für HKEY_CURRENT_USER für den aktuellen Prozess.
RegDisablePredefinedCacheEx Deaktiviert das Zwischenspeichern für alle vordefinierten Registrierungshandles für den aktuellen Prozess.
RegDisableReflectionKey- Deaktiviert die Registrierungsreflektion für den angegebenen Schlüssel.
RegEnableReflectionKey Aktiviert die Registrierungsreflektion für den angegebenen deaktivierten Schlüssel.
RegEnumKeyEx- Listet die Unterschlüssel des angegebenen geöffneten Registrierungsschlüssels auf.
RegEnumValue- Listet die Werte für den angegebenen geöffneten Registrierungsschlüssel auf.
RegFlushKey- Schreibt alle Attribute des angegebenen geöffneten Registrierungsschlüssels in die Registrierung.
RegGetKeySecurity- Ruft eine Kopie des Sicherheitsdeskriptors ab, der den angegebenen geöffneten Registrierungsschlüssel schützt.
RegGetValue- Ruft den Typ und die Daten für den angegebenen Registrierungswert ab.
RegLoadKey- Erstellt einen Unterschlüssel unter HKEY_USERS oder HKEY_LOCAL_MACHINE und speichert Registrierungsinformationen aus einer angegebenen Datei in diesem Unterschlüssel.
RegLoadMUIString- Lädt die angegebene Zeichenfolge aus dem angegebenen Schlüssel und Unterschlüssel.
RegNotifyChangeKeyValue Benachrichtigt den Aufrufer über Änderungen an den Attributen oder Inhalten eines angegebenen Registrierungsschlüssels.
RegOpenCurrentUser Ruft ein Handle zum HKEY_CURRENT_USER Schlüssel für den Benutzer ab, der der aktuelle Thread imitiert.
RegOpenKeyEx- Öffnet den angegebenen Registrierungsschlüssel.
RegOpenKeyTransacted Öffnet den angegebenen Registrierungsschlüssel und ordnet ihn einer Transaktion zu.
RegOpenUserClassesRoot- Ruft ein Handle zum HKEY_CLASSES_ROOT Schlüssel für den angegebenen Benutzer ab.
RegOverridePredefKey- Ordnet einem angegebenen Registrierungsschlüssel einen vordefinierten Registrierungsschlüssel zu.
RegQueryInfoKey- Ruft Informationen zum angegebenen Registrierungsschlüssel ab.
RegQueryMultipleValues- Ruft den Typ und die Daten für eine Liste mit Wertnamen ab, die einem geöffneten Registrierungsschlüssel zugeordnet sind.
RegQueryReflectionKey- Bestimmt, ob die Spiegelung für den angegebenen Schlüssel deaktiviert oder aktiviert wurde.
RegQueryValueEx- Ruft den Typ und die Daten für einen angegebenen Wertnamen ab, der einem geöffneten Registrierungsschlüssel zugeordnet ist.
RegRenameKey- Ändert den Namen des angegebenen Registrierungsschlüssels.
RegReplaceKey- Ersetzt die Datei, die einen Registrierungsschlüssel und alle zugehörigen Unterschlüssel durch eine andere Datei zurückgibt.
RegRestoreKey- Liest die Registrierungsinformationen in einer angegebenen Datei und kopiert sie über den angegebenen Schlüssel.
RegSaveKey- Speichert den angegebenen Schlüssel und alle zugehörigen Unterschlüssel und Werte in einer neuen Datei.
RegSaveKeyEx- Speichert den angegebenen Schlüssel und alle zugehörigen Unterschlüssel und Werte in einer neuen Datei. Sie können das Format für den gespeicherten Schlüssel oder die Struktur angeben.
RegSetKeyValue- Legt die Daten für den angegebenen Wert im angegebenen Registrierungsschlüssel und Unterschlüssel fest.
RegSetKeySecurity- Legt die Sicherheit eines geöffneten Registrierungsschlüssels fest.
RegSetValueEx- Legt die Daten und den Typ eines angegebenen Werts unter einem Registrierungsschlüssel fest.
RegUnLoadKey- Entladen Sie den angegebenen Registrierungsschlüssel und die zugehörigen Unterschlüssel aus der Registrierung.

 

Die folgenden Shellfunktionen können mit der Registrierung verwendet werden:

Im Folgenden sind die Initialisierungsdateifunktionen aufgeführt. Sie rufen Informationen aus und kopieren Informationen in eine vom System oder anwendung definierte Initialisierungsdatei. Diese Funktionen werden nur zur Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt. Neue Anwendungen sollten die Registrierung verwenden.

Funktion Beschreibung
GetPrivateProfileInt- Ruft eine ganze Zahl ab, die einem Schlüssel im angegebenen Abschnitt einer Initialisierungsdatei zugeordnet ist.
GetPrivateProfileSection- Ruft alle Schlüssel und Werte für den angegebenen Abschnitt einer Initialisierungsdatei ab.
GetPrivateProfileSectionNames- Ruft die Namen aller Abschnitte in einer Initialisierungsdatei ab.
GetPrivateProfileString- Ruft eine Zeichenfolge aus dem angegebenen Abschnitt in einer Initialisierungsdatei ab.
GetPrivateProfileStruct- Ruft die daten ab, die einem Schlüssel im angegebenen Abschnitt einer Initialisierungsdatei zugeordnet sind.
GetProfileInt- Ruft eine ganze Zahl aus einem Schlüssel im angegebenen Abschnitt der Win.ini Datei ab.
GetProfileSection- Ruft alle Schlüssel und Werte für den angegebenen Abschnitt der Win.ini Datei ab.
GetProfileString- Ruft die Zeichenfolge ab, die einem Schlüssel im angegebenen Abschnitt der Win.ini Datei zugeordnet ist.
WritePrivateProfileSection- Ersetzt die Schlüssel und Werte für den angegebenen Abschnitt in einer Initialisierungsdatei.
WritePrivateProfileString- Kopiert eine Zeichenfolge in den angegebenen Abschnitt einer Initialisierungsdatei.
WritePrivateProfileStruct- Kopiert Daten in einen Schlüssel im angegebenen Abschnitt einer Initialisierungsdatei.
WriteProfileSection- Ersetzt den Inhalt des angegebenen Abschnitts in der Win.ini Datei durch angegebene Schlüssel und Werte.
WriteProfileString- Kopiert eine Zeichenfolge in den angegebenen Abschnitt der Win.ini Datei.

 

Veraltete Funktionen

Diese Funktionen werden nur zur Kompatibilität mit 16-Bit-Versionen von Windows bereitgestellt: