IoOpenDriverRegistryKey 函数 (wdm.h)
IoOpenDriverRegistryKey 例程返回特定驱动程序的特定于驱动程序的注册表项的句柄。
语法
NTSTATUS IoOpenDriverRegistryKey(
[in] PDRIVER_OBJECT DriverObject,
[in] DRIVER_REGKEY_TYPE RegKeyType,
[in] ACCESS_MASK DesiredAccess,
[in] ULONG Flags,
[out] PHANDLE DriverRegKey
);
参数
[in] DriverObject
指向 DRIVER_OBJECT 结构的指针。 此结构必须是调用驱动程序的驱动程序对象。
[in] RegKeyType
DRIVER_REGKEY_TYPE 类型的枚举,指示所请求的注册表项的类型。
[in] DesiredAccess
指定表示密钥所需的访问权限的 ACCESS_MASK 值。 有关每个KEY_XXX访问权限的说明,请参阅 ZwCreateKey。
[in] Flags
设置为零。
[out] DriverRegKey
指向 HANDLE 变量的指针,在成功返回时,该变量包含所请求注册表项的句柄。
返回值
如果调用成功打开请求的注册表项句柄,则 IoOpenDriverRegistryKey 返回STATUS_SUCCESS。
言论
驱动程序必须调用 ZwClose 才能在不再需要访问时关闭从此例程返回的句柄。
此例程打开的注册表项是非易失性。
若要在不可变的 DriverRegKeyParameters 注册表项下预配键和值,请使用 service-install-section 中的 AddReg 指令 来引用 add-registry-section 节,该节包含具有 HKR
的正则根和 Parameters
子项的条目。
IoOpenDriverRegistryKey 的调用方必须在系统线程的上下文中在 IRQL = PASSIVE_LEVEL运行。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 版本 1803 |
标头 | wdm.h (包括 wdm.h、ntddk.h 或 ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |