IoOpenDriverRegistryKey-Funktion (wdm.h)
Die IoOpenDriverRegistryKey-Routine gibt ein Handle an einen treiberspezifischen Registrierungsschlüssel für einen bestimmten Treiber zurück.
Syntax
NTSTATUS IoOpenDriverRegistryKey(
[in] PDRIVER_OBJECT DriverObject,
[in] DRIVER_REGKEY_TYPE RegKeyType,
[in] ACCESS_MASK DesiredAccess,
[in] ULONG Flags,
[out] PHANDLE DriverRegKey
);
Parameter
[in] DriverObject
Ein Zeiger auf eine DRIVER_OBJECT-Struktur . Diese Struktur muss das Treiberobjekt für den aufrufenden Treiber sein.
[in] RegKeyType
Eine Enumeration vom Typ DRIVER_REGKEY_TYPE , die den Typ des angeforderten Registrierungsschlüssels angibt.
[in] DesiredAccess
Gibt den ACCESS_MASK Wert an, der die für den Schlüssel erforderlichen Zugriffsrechte darstellt. Eine Beschreibung der einzelnen KEY_XXX Zugriffsrecht finden Sie unter ZwCreateKey .
[in] Flags
Auf NULL festlegen.
[out] DriverRegKey
Ein Zeiger auf die HANDLE-Variable, die bei erfolgreicher Rückgabe ein Handle auf den angeforderten Registrierungsschlüssel enthält.
Rückgabewert
IoOpenDriverRegistryKey gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ein Handle für den angeforderten Registrierungsschlüssel geöffnet hat.
Hinweise
Der Treiber muss ZwClose aufrufen, um den von dieser Routine zurückgegebenen Handle zu schließen, wenn der Zugriff nicht mehr erforderlich ist.
Die registrierungsschlüssel, die von dieser Routine geöffnet werden, sind nicht volatile.
Um Schlüssel und Werte unter dem unveränderlichen Registrierungsschlüssel DriverRegKeyParameters bereitzustellen, verwenden Sie eine AddReg-Direktive aus einem service-install-section , um auf einen Abschnitt add-registry-section zu verweisen, der Einträge mit einem reg-root von HKR
und einem Unterschlüssel von Parameters
enthält.
Aufrufer von IoOpenDriverRegistryKey müssen unter IRQL = PASSIVE_LEVEL im Kontext eines Systemthreads ausgeführt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10, Version 1803 |
Kopfzeile | wdm.h (einschließen wdm.h, ntddk.h oder ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |