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 zu einem 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-typed-Wert, der Zugriffsrechte angibt, die der Treiber für den angegebenen Registrierungsschlüssel anfordert.

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

Ein UMDF-Treiber fordert in der Regel KEY_READ oder KEY_SET_VALUEan.

[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. Das

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 bei IRQL = PASSIVE_LEVEL nicht aufgerufen.

STATUS_INVALID_PARAMETER
Es wurde ein ungültiger Parameter angegeben. Bei 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 zurückgegeben werden können, finden Sie unter Framework Object Creation Errors.

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

Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.

Bemerkungen

Die Registrierung enthält einen HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP Schlüssel, den einige Treiber für ältere Technologien, z. B. 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 WdfDeviceOpenDevicemapKeyaufruft.

WdfDeviceOpenDevicemapKey gibt eine veränderliche Key-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 WdfRegistryCloseaufrufen.

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

Anforderungen

Anforderung Wert
Zielplattform- Universal
Minimale KMDF-Version 1.15
Mindest-UMDF-Version 2.15
Header- wdfdevice.h (einschließen Wdf.h)
Library Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL- PASSIVE_LEVEL

Siehe auch

WdfDeviceOpenRegistryKey

WdfFdoInitOpenRegistryKey