RegDeleteKeyExA-Funktion (winreg.h)

Löscht einen Unterschlüssel und seine Werte aus der angegebenen plattformspezifischen Ansicht der Registrierung. Beachten Sie, dass bei Schlüsselnamen die Groß-/Kleinschreibung nicht beachtet wird.

Um einen Unterschlüssel als transaktionierten Vorgang zu löschen, rufen Sie die RegDeleteKeyTransacted-Funktion auf .

Syntax

LSTATUS RegDeleteKeyExA(
  [in] HKEY   hKey,
  [in] LPCSTR lpSubKey,
  [in] REGSAM samDesired,
       DWORD  Reserved
);

Parameter

[in] hKey

Ein Handle für einen geöffneten Registrierungsschlüssel. Die Zugriffsrechte dieses Schlüssels wirken sich nicht auf den Löschvorgang aus. Weitere Informationen zu Zugriffsrechten finden Sie unter Sicherheit und Zugriffsrechte für Registrierungsschlüssel.

Dieses Handle wird von der RegCreateKeyEx - oder RegOpenKeyEx-Funktion zurückgegeben, oder es kann sich um einen der folgenden vordefinierten Schlüssel handelt:

HKEY_CLASSES_ROOT
HKEY_CURRENT_CONFIG
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS

[in] lpSubKey

Der Name des zu löschenden Schlüssels. Dieser Schlüssel muss ein Unterschlüssel des Schlüssels sein, der durch den Wert des hKey-Parameters angegeben wird.

Die Funktion öffnet den Unterschlüssel mit dem Zugriffsrecht DELETE.

Bei Schlüsselnamen wird die Groß-/Kleinschreibung nicht beachtet.

Der Wert dieses Parameters darf nicht NULL sein.

[in] samDesired

Eine Zugriffsmaske gibt die plattformspezifische Ansicht der Registrierung an.

Wert Bedeutung
KEY_WOW64_32KEY
0x0200
Löschen Sie den Schlüssel aus der 32-Bit-Registrierungsansicht.
KEY_WOW64_64KEY
0x0100
Löschen Sie den Schlüssel aus der 64-Bit-Registrierungsansicht.

Reserved

Dieser Parameter ist reserviert und muss null sein.

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

Ein gelöschter Schlüssel wird erst entfernt, wenn das letzte Handle für ihn geschlossen wurde.

Auf WOW64 zeigen 32-Bit-Anwendungen eine Registrierungsstruktur an, die von der Registrierungsstruktur getrennt ist, die 64-Bit-Anwendungen anzeigen. Mit dieser Funktion kann eine Anwendung einen Eintrag in der alternativen Registrierungsansicht löschen.

Der zu löschende Unterschlüssel darf keine Unterschlüssel aufweisen. Um einen Schlüssel und alle seine Unterschlüssel zu löschen, müssen Sie die Unterschlüssel aufzählen und einzeln löschen. Verwenden Sie zum rekursiven Löschen von Schlüsseln die RegDeleteTree - oder SHDeleteKey-Funktion .

Wenn die Funktion erfolgreich ist, entfernt RegDeleteKeyEx den angegebenen Schlüssel aus der Registrierung. Der gesamte Schlüssel, einschließlich aller zugehörigen Werte, wird entfernt.

Hinweis

In Legacyversionen von Windows wird diese API auch von kernel32.dll verfügbar gemacht.

Hinweis

Der winreg.h-Header definiert RegDeleteKeyEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista, Windows XP Professional x64 Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008, Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winreg.h (Windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

RegCreateKeyEx

RegDeleteKeyTransacted

RegOpenKeyEx

Registrierungsfunktionen

Registrierungsumleitung