IoOpenDeviceInterfaceRegistryKey-Funktion (wdm.h)

Die IoOpenDeviceInterfaceRegistryKey-Routine gibt ein Handle an einen Registrierungsschlüssel zurück, um Informationen zu einer bestimmten Geräteschnittstelle instance zu speichern.

Syntax

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  [in]  PUNICODE_STRING SymbolicLinkName,
  [in]  ACCESS_MASK     DesiredAccess,
  [out] PHANDLE         DeviceInterfaceRegKey
);

Parameter

[in] SymbolicLinkName

Zeiger auf eine Zeichenfolge, die die Geräteschnittstelle instance. Diese Zeichenfolge wurde aus einem vorherigen Aufruf von IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias oder IoRegisterDeviceInterface abgerufen.

[in] DesiredAccess

Gibt den ACCESS_MASK Wert an, der den Zugriff darstellt, den der Aufrufer auf den Schlüssel benötigt, z. B. KEY_READ, KEY_WRITE oder KEY_ALL_ACCESS. Eine Beschreibung der einzelnen KEY_XXX-Zugriffsrechte finden Sie unter ZwCreateKey.

[out] DeviceInterfaceRegKey

Zeiger auf ein zurückgegebenes Handle auf den angeforderten Registrierungsschlüssel, wenn der Aufruf erfolgreich ist.

Rückgabewert

IoOpenDeviceInterfaceRegistryKey gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Mögliche Fehlerrückgabewerte sind:

Rückgabecode Beschreibung
STATUS_OBJECT_NAME_NOT_FOUND
Die Routine konnte keinen Registrierungsschlüssel für die Geräteschnittstelle instance finden, wahrscheinlich aufgrund eines Fehlers in SymbolicLinkName.
STATUS_OBJECT_PATH_NOT_FOUND
Die Routine konnte keinen Registrierungsschlüssel für die Geräteschnittstelle instance finden, wahrscheinlich aufgrund eines Fehlers in SymbolicLinkName.
STATUS_INVALID_PARAMETER
Gibt möglicherweise einen Fehler in SymbolicLinkName an.

Hinweise

IoOpenDeviceInterfaceRegistryKey öffnet einen nicht flüchtigen Unterschlüssel des Registrierungsschlüssels für die Geräteschnittstelle instance durch SymbolicLinkName angegeben. Treiber können Informationen in diesem Unterschlüssel speichern, die für diesen instance der Geräteschnittstelle spezifisch sind, z. B. die Standardauflösung für eine Kamera. Benutzermodusanwendungen können mithilfe von SetupDiXxx-Routinen auf diesen Unterschlüssel zugreifen.

Der Treiber muss ZwClose aufrufen, um das von dieser Routine zurückgegebene Handle zu schließen, wenn kein Zugriff mehr erforderlich ist.

Aufrufer von IoOpenDeviceInterfaceRegistryKey müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Weitere Informationen

ACCESS_MASK

IoGetDeviceInterfaceAlias

IoGetDeviceInterfaces

IoRegisterDeviceInterface

ZwClose