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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

ZwClose

ACCESS_MASK

DRIVER_REGKEY_TYPE