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 指令引用包含具有 reg 根HKR和子项Parameters的条目的 add-registry-section 节。

IoOpenDriverRegistryKey 的调用方必须在系统线程的上下文中运行 IRQL = PASSIVE_LEVEL。

要求

   
最低受支持的客户端 Windows 10 版本 1803
Header wdm.h (包括 wdm.h、ntddk.h 或 ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

ZwClose

ACCESS_MASK

DRIVER_REGKEY_TYPE