IoOpenDeviceInterfaceRegistryKey例程

IoOpenDeviceInterfaceRegistryKey例程

  IoOpenDeviceInterfaceRegistryKey例程返回一个注册表项的句柄, 用于存储有关特定设备接口实例的信息。

语法

NTSTATUS IoOpenDeviceInterfaceRegistryKey(
  _In_  PUNICODE_STRING SymbolicLinkName,
  _In_  ACCESS_MASK     DesiredAccess,
  _Out_ PHANDLE         DeviceInterfaceKey
);

参数

  • SymbolicLinkName [in]
      指向标识设备接口实例的字符串的指针。此字符串是从以前调用 IoGetDeviceInterfaces、 IoGetDeviceInterfaceAlias或 IoRegisterDeviceInterface 中获得的.
  • DesiredAccess [in]
      指定 ACCESS_MASK 值, 它表示调用方对键所需的访问, 如 KEY_READ、KEY_WRITE 或 KEY_ALL_ACCESS。有关每个 KEY_XXX访问权限的说明, 请参见 ZwCreateKey 。
  • DeviceInterfaceKey [出]
      如果调用成功, 则指向所请求的注册表项的返回句柄的指针。

返回值

  IoOpenDeviceInterfaceRegistryKey 如果调用成功, 则返回 STATUS_SUCCESS。可能的错误返回值包括以下内容.

返回代码描述
STATUS_OBJECT_NAME_NOT_FOUND例程无法找到设备接口实例的注册表项, 可能是由于SymbolicLinkName中的错误.
STATUS_OBJECT_PATH_NOT_FOUND例程无法找到设备接口实例的注册表项, 可能是由于SymbolicLinkName中的错误.
STATUS_INVALID_PARAMETER可能在SymbolicLinkName中指示错误.

摘要

  IoOpenDeviceInterfaceRegistryKey 打开由SymbolicLinkName指定的设备接口实例的注册表项的非易失子项。驱动程序可以在此子项中存储特定于此设备接口实例的信息, 如照相机的默认分辨率。用户模式应用程序可以使用SetupDiXxx 例程访问此子项.
  当不再需要访问时, 驱动程序必须调用 ZwClose 以关闭从该例程返回的句柄。
  IoOpenDeviceInterfaceRegistryKey的调用方必须在系统线程的上下文中运行 IRQL = PASSIVE_LEVEL。

要求

Target platformUniversal
VersionAvailable starting with Windows 2000.
HeaderWdm.h (include Wdm.h, Ntddk.h, or Ntifs.h)
LibraryNtosKrnl.lib
DLLNtosKrnl.exe
IRQLPASSIVE_LEVEL (see Remarks section)
DDI compliance rulesPowerIrpDDis, HwStorPortProhibitedDDIs

另请参阅

ACCESS_MASK
IoGetDeviceInterfaces
IoGetDeviceInterfaceAlias
IoRegisterDeviceInterface
ZwClose

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值