WdfRegistryRemoveKey-Funktion (wdfregistry.h)

[Gilt für KMDF und UMDF]

Die WdfRegistryRemoveKey-Methode entfernt den Registrierungsschlüssel, der einem angegebenen Framework-Registrierungsschlüsselobjekt zugeordnet ist, und löscht dann das Registrierungsschlüsselobjekt.

Syntax

NTSTATUS WdfRegistryRemoveKey(
  [in] WDFKEY Key
);

Parameter

[in] Key

Ein Handle für ein Registrierungsschlüsselobjekt, das einen geöffneten Registrierungsschlüssel darstellt.

Rückgabewert

WdfRegistryRemoveKey gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die Methode möglicherweise einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_INVALID_DEVICE_REQUEST

WdfRegistryRemoveKey wurde unter IRQL = PASSIVE_LEVEL nicht aufgerufen.

STATUS_ACCESS_DENIED
Der Treiber hat den Registrierungsschlüssel nicht mit Löschzugriff geöffnet.
STATUS_NOT_IMPLEMENTED
Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.
 

Diese Methode kann auch andere NTSTATUS-Werte zurückgeben.

Eine Fehlerüberprüfung tritt auf, wenn der Treiber ein ungültiges Objekthandle bereitstellt.

Hinweise

Hinweis

Stellen Sie vor dem Aufrufen von WdfRegistryRemoveKey sicher, dass alle Schlüssel und Werte unter dem angegebenen Schlüssel gelöscht wurden. Löschen Sie zuerst jeden Unterschlüssel, beginnend mit den Blattschlüsseln, und arbeiten Sie sich nach oben.

Hinweis  

Rufen Sie von einem KMDF-Treiber nicht WdfRegistryRemoveKey und dann WdfRegistryClose auf demselben Schlüssel auf. Der WDFKEY ist nach der Rückgabe von WdfRegistryRemoveKey nicht mehr gültig.

 
Obwohl es für einen UMDF-Treiber zulässig ist , WdfRegistryRemoveKey aufzurufen, gibt der Aufruf immer STATUS_NOT_IMPLEMENTED zurück. Um das WDFKEY-Objekt zu löschen, sollte ein UMDF-Treiber stattdessen WdfRegistryClose aufrufen.

Weitere Informationen zu Registrierungsschlüsselobjekten finden Sie unter Verwenden der Registrierung in Framework-Based-Treibern.

Beispiele

Im folgenden Codebeispiel wird ein Registrierungsschlüssel entfernt und das Registrierungsschlüsselobjekt gelöscht.

NTSTATUS  status;

status = WdfRegistryRemoveKey(Key);

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfregistry.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)