Freigeben über


RegFlushKey-Funktion (winreg.h)

Schreibt alle Attribute des angegebenen geöffneten Registrierungsschlüssels in die Registrierung.

Syntax

LSTATUS RegFlushKey(
  [in] HKEY hKey
);

Parameter

[in] hKey

Ein Handle für einen geöffneten Registrierungsschlüssel. Der Schlüssel muss mit dem Zugriffsrecht KEY_QUERY_VALUE geöffnet worden sein. Weitere Informationen finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.

Dieses Handle wird von der RegCreateKeyEx-, RegCreateKeyTransacted-, RegOpenKeyEx- oder RegOpenKeyTransacted-Funktion zurückgegeben. Es kann auch einer der folgenden vordefinierten Schlüssel sein:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_PERFORMANCE_DATA
HKEY_USERS

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.

Wenn die Funktion fehlschlägt, ist der Rückgabewert ein in Winerror.h definierter Fehlercode ungleich null. Sie können die FormatMessage-Funktion mit dem flag FORMAT_MESSAGE_FROM_SYSTEM verwenden, um eine generische Beschreibung des Fehlers abzurufen.

Hinweise

Das Aufrufen von RegFlushKey ist ein teurer Vorgang, der sich erheblich auf die systemweite Leistung auswirkt, da er Datenträgerbandbreite beansprucht und Änderungen an allen Schlüsseln durch alle Prozesse in der Registrierungsstruktur blockiert, die geleert wird, bis der Leerungsvorgang abgeschlossen ist. RegFlushKey sollte nur explizit aufgerufen werden, wenn eine Anwendung garantieren muss, dass Registrierungsänderungen unmittelbar nach der Änderung auf dem Datenträger gespeichert werden. Alle Änderungen an Schlüsseln sind für andere Prozesse sichtbar, ohne dass sie auf den Datenträger geleert werden müssen.

Alternativ verfügt die Registrierung über einen Mechanismus zum "verzögerten Leeren", der Registrierungsänderungen in regelmäßigen Abständen auf dem Datenträger leert. Zusätzlich zu diesem regulären Leerungsvorgang werden Registrierungsänderungen beim Herunterfahren des Systems auch auf den Datenträger geleert. Es ist die effizienteste Möglichkeit, Registrierungsschreibvorgänge in den Registrierungsspeicher auf dem Datenträger durch die "verzögerte Leerung" zu leeren.

Die RegFlushKey-Funktion gibt nur zurück, wenn alle Daten für die Struktur, die den angegebenen Schlüssel enthält, in den Registrierungsspeicher auf dem Datenträger geschrieben wurden.

Die RegFlushKey-Funktion schreibt die Daten für andere Schlüssel in der Struktur aus, die seit dem letzten verzögerten Leeren oder Systemstart geändert wurden.

Nachdem RegFlushKey zurückgegeben wurde, verwenden Sie RegCloseKey , um das Handle für den Registrierungsschlüssel zu schließen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winreg.h (Windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

RegCloseKey

RegDeleteKey

Registrierungsfunktionen

Übersicht über die Registrierung