Freigeben über


WdfDeviceOpenDevicemapKey-Funktion (wdfdevice.h)

[Gilt für KMDF und UMDF]

Die WdfDeviceOpenDevicemapKey-Methode öffnet den DEVICEMAP-Schlüssel und erstellt ein Framework-Registrierungsschlüsselobjekt, das den Registrierungsschlüssel darstellt.

Syntax

NTSTATUS WdfDeviceOpenDevicemapKey(
  [in]           WDFDEVICE              Device,
  [in]           PCUNICODE_STRING       KeyName,
  [in]           ACCESS_MASK            DesiredAccess,
  [in, optional] PWDF_OBJECT_ATTRIBUTES KeyAttributes,
  [out]          WDFKEY                 *Key
);

Parameter

[in] Device

Ein Handle für ein Framework-Geräteobjekt.

[in] KeyName

Ein Zeiger auf eine UNICODE_STRING-Struktur , die den Namen des Unterschlüssels angibt, der unter DEVICEMAP geöffnet werden soll.

[in] DesiredAccess

Ein ACCESS_MASK typisierter Wert, der Zugriffsrechte angibt, die der Treiber für den angegebenen Registrierungsschlüssel anfordert.

Ein KMDF-Treiber fordert in der Regel KEY_READ, KEY_WRITE oder KEY_READ | KEY_WRITE.

Ein UMDF-Treiber fordert in der Regel KEY_READ oder KEY_SET_VALUE an.

[in, optional] KeyAttributes

Ein Zeiger auf eine WDF_OBJECT_ATTRIBUTES-Struktur , die vom Treiber bereitgestellte Attribute für das neue Registrierungsschlüsselobjekt enthält. Dieser Parameter ist optional und kann WDF_NO_OBJECT_ATTRIBUTES werden.

[out] Key

Ein Zeiger auf einen Speicherort, der ein Handle für das neue Registrierungsschlüsselobjekt empfängt. The

Rückgabewert

WdfDeviceOpenDevicemapKey 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

WdfDeviceOpenDevicemapKey wurde unter IRQL = PASSIVE_LEVEL nicht aufgerufen.

STATUS_INVALID_PARAMETER
Ein ungültiger Parameter wurde angegeben. Für UMDF kann dieser Rückgabewert auf unzureichende Zugriffsrechte hinweisen.
STATUS_INSUFFICIENT_RESOURCES
Ein Registrierungsschlüsselobjekt konnte nicht zugeordnet werden.
STATUS_OBJECT_NAME_NOT_FOUND
Der angegebene Registrierungsschlüssel ist nicht vorhanden.
 

Eine Liste mit anderen Rückgabewerten, die von der WdfDeviceOpenDevicemapKey-Methode möglicherweise zurückgegeben werden, finden Sie unter Fehler bei der Erstellung von Frameworkobjekten.

Die -Methode gibt möglicherweise andere NTSTATUS-Werte zurück.

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

Hinweise

Die Registrierung enthält einen HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP Schlüssel, den einige Treiber für ältere Technologien wie serielle und parallele Ports verwenden. Wenn Ihr Treiber eine Technologie unterstützt, die den DEVICEMAP-Schlüssel verwendet, kann der Treiber auf Unterschlüssel und Werte unter dem Schlüssel zugreifen, indem er WdfDeviceOpenDevicemapKey aufruft.

WdfDeviceOpenDevicemapKey gibt einen flüchtigen Schlüssel zurück. Dies bedeutet, dass die Informationen nicht beibehalten werden, wenn die entsprechende Registrierungsstruktur entladen wird.

Wenn der Treiber den Registrierungsschlüssel verwendet hat, den er mit WdfDeviceOpenDevicemapKey geöffnet hat, muss der Treiber WdfRegistryClose aufrufen.

Weitere Informationen zu Registrierung, Hardware- und Softwareschlüsseln sowie Registrierungsobjekten finden Sie unter Verwenden der Registrierung in Framework-Based Treibern.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.15
UMDF-Mindestversion 2.15
Kopfzeile wdfdevice.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL

Weitere Informationen

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey